{
  "boot": {
    "starting": "Starting OpenWorker…",
    "restoring": "Restoring your session…"
  },
  "common": {
    "dismiss": "Dismiss",
    "remove": "Remove",
    "send": "Send",
    "stop": "Stop"
  },
  "sidebar": {
    "new_session": "New session",
    "new_project": "New project",
    "collapse": "Collapse sidebar",
    "dock": "Dock sidebar",
    "choose_persona": "Choose a persona",
    "start_with_persona": "Start with a specific persona",
    "filter_coworker": "Filter by coworker",
    "group_by": "Group by",
    "group_and_filter": "Group and filter conversations",
    "session_actions": "Session actions",
    "confirm_delete": "Click again to permanently delete",
    "status_working": "Working now",
    "status_sleeping": "Sleeping (will wake itself)",
    "not_signed_in": "Not signed in — one-click connections need OpenWorker Cloud",
    "sign_in": "Sign in to OpenWorker",
    "signed_in_tooltip": "Signed in to OpenWorker Cloud",
    "cloud_suffix": "OpenWorker Cloud",
    "automations": "Automations",
    "search": "Search",
    "recent": "Recent",
    "no_conversations": "No conversations yet.",
    "no_matching": "No matching conversations.",
    "awaiting_attention": "{{n}} awaiting your attention",
    "from_slack": "From Slack",
    "age_now": "now",
    "age_m": "{{n}}m",
    "age_h": "{{n}}h",
    "age_d": "{{n}}d",
    "age_w": "{{n}}w",
    "age_mo": "{{n}}mo",
    "age_y": "{{n}}y",
    "rename": "Rename",
    "pin": "Pin",
    "unpin": "Unpin",
    "archive": "Archive",
    "unarchive": "Unarchive",
    "delete": "Delete",
    "delete_confirm": "Delete?",
    "pinned": "Pinned",
    "scheduled": "Scheduled",
    "group_persona": "Coworker",
    "group_chrono": "Chronological",
    "clear": "Clear",
    "filter_all_hint": "None checked shows all.",
    "projects": "Projects",
    "no_projects_yet": "No projects yet — start one with the + above.",
    "show_more_n": "Show more ({{n}})",
    "no_project_convos": "No conversations in this project yet.",
    "archived_n": "Archived ({{n}})",
    "show_less": "Show less",
    "show_n_more": "Show {{n}} more",
    "sign_out": "Sign out",
    "account_aria": "Account: {{email}}",
    "account_not_signed_in_aria": "Account: not signed in",
    "not_signed_in_row": "Not signed in",
    "inbox_chip_pending": "Inbox — {{n}} items need you",
    "start_session_as": "Start a session as",
    "manage_personas": "Manage personas…",
    "group_and_filter_short": "Group & filter conversations",
    "unseen_new_one": "{{count}} new run",
    "unseen_new_other": "{{count}} new runs",
    "unseen_failed_one": "{{count}} new run — the latest failed",
    "unseen_failed_other": "{{count}} new runs — the latest failed"
  },
  "topbar": {
    "show_sidebar": "Show sidebar (⌘B)",
    "show_sidebar_short": "Show sidebar",
    "search": "Search",
    "show_artifacts": "Show files this conversation produced",
    "artifacts": "Artifacts",
    "show_side_panel": "Show side panel",
    "hide_side_panel": "Hide side panel"
  },
  "nav": {
    "activity": "Activity",
    "inbox": "Inbox",
    "automations": "Automations",
    "connectors": "Connectors",
    "settings": "Settings"
  },
  "hero": {
    "chat_greeting": "How can I help?",
    "build_greeting": "Let's build something.",
    "try_a_task": "Try a task",
    "suggest_tests": "Run the test suite and summarize any failures.",
    "suggest_overview": "Read the project and give me a 5-bullet overview.",
    "suggest_fix_build": "Find and fix the failing build."
  },
  "composer": {
    "placeholder": "Ask the coworker…  (drop or paste files)",
    "placeholder_code": "Ask the coder to build, fix, or explain…  (drop or paste files)",
    "placeholder_chat": "Ask anything…  (drop or paste files)",
    "placeholder_cowork": "Ask the coworker…  (drop or paste files)",
    "attach": "Attach",
    "attach_image": "Photo or image",
    "attach_other": "Other files",
    "connect_to_send": "Connect a model to send",
    "stop": "⏹ Stop",
    "mode_label": "Mode",
    "approvals_to_inbox": "Send approvals to the Inbox",
    "mode": {
      "discuss": "Discuss",
      "discuss_desc": "Chat and explore — no edits or commands",
      "interactive": "Ask for approval",
      "interactive_desc": "Ask before edits and commands",
      "auto": "Bypass approvals",
      "auto_desc": "Run everything without asking — approvals off",
      "auto_approve": "Auto-approve",
      "auto_approve_desc": "Let your session model classify actions and handle approvals, prompting you for anything it's unsure about"
    },
    "voice": {
      "stop_transcribe": "Stop recording and transcribe",
      "start_dictation": "Start local voice dictation",
      "stop_dictation": "Stop dictation",
      "start_dictation_btn": "Start dictation",
      "configure": "Configure Voice Input in Settings"
    },
    "err_transcribe": "Could not transcribe your recording.",
    "err_dictation_unavailable": "Voice dictation is unavailable.",
    "err_mic_start": "Could not start the microphone.",
    "starting_mic": "Starting microphone…",
    "approvals_to_inbox_help": "When a run is unattended, approval asks go to the Inbox.",
    "listening_sr": "Listening, {{time}}",
    "pdf_could_not_read": "Couldn't read that PDF.",
    "pdf_too_big": "{{name}} skipped — {{mb}} MB is over your {{limit}} MB limit (Settings → Token savings)",
    "pdf_too_many_pages": "{{name}} skipped — {{pages}} pages is over your {{limit}}-page limit (Settings → Token savings)",
    "pdf_unreadable": "{{name}} skipped — {{error}}",
    "send_approvals_to_inbox": "Send approvals to the Inbox",
    "starting_transcribe": "Transcribing…",
    "model": {
      "connect": "Connect a model",
      "none": "No model",
      "none_aria": "No model connected — connect a model",
      "loading": "Loading models…",
      "loading_title": "Fetching the model list from the server"
    },
    "placeholder_gate": "Reply to adjust the proposal — or use the buttons above",
    "attach_this_message": "This message",
    "attach_this_session": "This session",
    "bind_memory": "Project memory",
    "bind_board": "Board",
    "reviewer_paused_tip": "paused for this turn — the reviewer blocked several actions in a row, approvals come to you",
    "paused": "paused"
  },
  "transcript": {
    "copy_message": "Copy message",
    "copied": "Copied",
    "thinking_live": "Thinking…",
    "thinking_process": "Thought process",
    "who_assistant": "assistant",
    "retry": "Retry",
    "approval": {
      "approved": "✓ user-approved",
      "declined": "✕ declined",
      "approved_scope": "approved by you · {{scope}}",
      "approved_title": "approved by you",
      "reviewer_unsure": " — reviewer wasn't sure: {{note}}",
      "reviewer_allowed_title": "allowed by the auto-approve reviewer",
      "bypass_title": "ran without approval — bypass-approvals mode",
      "auto_approved": "auto-approved",
      "bypassed": "approval bypassed"
    },
    "step": {
      "raw": "raw",
      "auto_allowed": "auto-allowed",
      "auto_allowed_tip": "Auto-allowed by this automation's standing approval: {{name}}. Revoke on its Automations page.",
      "hidden_count_label": "{{n}} hidden",
      "hidden_tip": "Removed by your privacy filters before the agent saw the results — agents get no trace of these.",
      "tried_skill_pre": "Tried skill: ",
      "tried_skill_post": " — not available"
    },
    "turn": {
      "running": "Running {{label}}…",
      "declined": "{{count}} declined",
      "hidden": "{{count}} hidden by your filters",
      "steps_label": "{{count}} steps",
      "steps_label_one": "{{count}} step"
    },
    "dir_declined": "Declined folder access",
    "dir_granted": "Granted folder access",
    "plan_approved": "Plan approved",
    "plan_proposed": "proposed plan",
    "plan_rejected": "Sent back with feedback",
    "mcp_details": "Details",
    "mcp_open_connectors": "Open Connectors",
    "user_more": "more…",
    "user_less": "less…",
    "reviewer": {
      "blocked": "Blocked by the reviewer",
      "explain": "The agent was told only that it was blocked — not why — so it can’t argue its way past this. If the action is actually fine, you can run it as proposed:",
      "allow_anyway": "Allow anyway",
      "override_sent": "Approved — the agent will retry this exact action."
    },
    "memory": {
      "saved": "I'll remember that",
      "updated": "I've updated what I remember",
      "undone_forgotten": "Okay — forgotten.",
      "undone_restored": "Okay — put back the way it was.",
      "undo": "Undo"
    }
  },
  "rail": {
    "progress_title": "Progress",
    "artifacts_title": "Artifacts",
    "artifacts_empty": "No previewable files yet.",
    "open": "Open",
    "loading": "Loading…",
    "working": "Working...",
    "empty_state": "For longer multi-step tasks, progress will appear here while OpenWorker plans, uses tools, waits for approval, and produces artifacts.",
    "refresh": "Refresh artifacts",
    "back": "Back",
    "back_to_artifacts": "Back to artifacts",
    "copy_path": "Copy path",
    "copy_full_path": "Copy full path",
    "reload": "Reload",
    "reload_preview": "Reload preview",
    "tool_calls": "{{count}} tool calls so far.",
    "working_task": "Working on this task.",
    "working_task_with_tools": "Working on this task with {{count}} tool calls so far.",
    "empty_file": "Empty file.",
    "office_no_preview": "This {{type}} file can't be previewed here.",
    "pdf_error": "Could not render PDF: {{error}}",
    "pdf_rendering": "Rendering PDF…",
    "sheet_error": "Could not parse spreadsheet: {{error}}",
    "sheet_parsing": "Parsing spreadsheet…",
    "sheet_empty": "Empty sheet.",
    "open_in_default": "Open in default app",
    "show_in_folder": "Show in folder",
    "show_folder": "Show the folder where these files are saved",
    "board_title": "Board",
    "board_expand": "Expand the board",
    "team_title": "Team",
    "team_open_session": "Open {{name}}'s session",
    "team_worker": "worker",
    "team_sleeping": "sleeping",
    "team_open": "open ↗",
    "team_chat": "team chat",
    "back_to": "Back to {{name}}",
    "crumb_files": "Files",
    "more_actions": "More actions",
    "more": "More",
    "close_viewer": "Close the viewer",
    "close": "Close",
    "journal_title": "Journal",
    "journal_entries_one": "{{count}} entry",
    "journal_entries_other": "{{count}} entries",
    "browse": "Browse",
    "root_read_write": "read-write",
    "root_read_only": "read-only",
    "copy_contents": "Copy contents",
    "open_in_browser": "Open in browser",
    "reveal_in_finder": "Reveal in Finder",
    "folder_empty": "This folder is empty.",
    "table_truncated": "Showing first {{max}} of {{total}} rows.",
    "board_chip_blocked_one": "{{count}} blocked",
    "board_chip_blocked_other": "{{count}} blocked",
    "board_chip_review_one": "{{count}} review",
    "board_chip_review_other": "{{count}} review",
    "board_chip_active_one": "{{count}} active",
    "board_chip_active_other": "{{count}} active"
  },
  "settings": {
    "tab": {
      "general": "General",
      "models": "Models",
      "voice": "Voice input",
      "personas": "Coworkers",
      "context": "Context optimization",
      "skills": "Skills",
      "memory": "Memory"
    },
    "general_title": "General",
    "general_sub": "How OpenWorker looks and behaves on this machine.",
    "theme": "Theme",
    "appearance_aria": "Appearance",
    "theme_light": "Light",
    "theme_dark": "Dark",
    "theme_auto": "Auto",
    "theme_auto_help": "Auto follows your Mac's appearance.",
    "language": "Language",
    "language_aria": "Language",
    "language_zh": "中文",
    "language_en": "English",
    "language_system": "System",
    "language_help": "Switch the interface language — takes effect immediately.",
    "always_on": "Always-on",
    "open_at_login": "Open at login",
    "open_at_login_help": "Launch OpenWorker automatically when you sign in.",
    "keep_awake": "Keep this system awake",
    "keep_awake_help": "Prevent idle sleep so scheduled tasks fire on time.",
    "setup_updates": "Setup & updates",
    "run_setup_again": "Run setup again",
    "run_setup_help": "Replays the first-run setup: model, first automation, tips.",
    "checking": "Checking…",
    "check_for_updates": "Check for updates",
    "update_install": "Update to v{{version}} and restart",
    "update_latest": "You're on the latest version.",
    "update_error": "Couldn't check right now.",
    "update_downloading": "Downloading — OpenWorker restarts by itself when it's ready.",
    "voice_desktop_only": "Voice Input setup is available in the OpenWorker desktop app.",
    "personas_intro": "Manage your coworkers and add new ones.",
    "scratch_placeholder": "~/OpenWorker",
    "files_browse": "Browse…",
    "files_help": "Each conversation gets its own folder under this location. Existing conversations keep their current folder; you can grant access to more folders inside any conversation.",
    "files_pick_folder": "Pick a folder",
    "files_save": "Save",
    "files_save_error": "Couldn't save.",
    "files_saved": "Saved.",
    "files_title": "Files",
    "gallery_open": "Browse the Persona Gallery",
    "gallery_sub": "Curated coworkers from the OpenWorker team — see what each can do before installing.",
    "gallery_title": "Persona Gallery",
    "sidebar_card_help": "How many sessions the sidebar peeks before showing.",
    "sidebar_card_title": "Sidebar density",
    "sidebar_per_coworker": "Sessions per coworker",
    "voice_checking": "Checking compatibility…",
    "voice_compatible": "Compatible",
    "voice_delete": "Delete",
    "voice_delete_confirm": "Delete this model?",
    "voice_device_title": "This device",
    "voice_dl_progress": "{{done}} of {{total}}",
    "voice_download": "Download",
    "voice_installed": "Installed and verified · {{size}}",
    "voice_intro": "Speak naturally in the composer. Recordings and transcripts stay on this device.",
    "voice_listening": "Listening…",
    "voice_mac": "macOS",
    "voice_mac_detail": "Apple Silicon (M1+): built in, no download needed.",
    "voice_memory": "Memory",
    "voice_memory_detail": "Larger models are more accurate but use more memory.",
    "voice_mic_test_pending": "Testing…",
    "voice_mic_test_ready": "Test the microphone",
    "voice_mic_test_title": "Microphone test",
    "voice_no_speech": "No speech detected — try again.",
    "voice_not_installed": "Local voice model · {{size}}",
    "voice_private_body": "Audio is held in memory only while you record and is transcribed locally.",
    "voice_private_title": "Private by design.",
    "voice_processor": "Processor",
    "voice_processor_detail": "Requires Apple Silicon (M1 or later).",
    "voice_ready_badge": "Ready",
    "voice_repair": "Repair",
    "voice_stop_check": "Stop checking",
    "voice_test_again": "Test again",
    "voice_test_mic": "Test the microphone",
    "voice_transcribing": "Transcribing…",
    "voice_unsupported": "Unsupported",
    "voice_verified": "Verified",
    "voice_verifying": "Verifying…",
    "voice_whisper_title": "Whisper Base · English",
    "voice_windows": "Windows",
    "voice_windows_detail": "Download a whisper.cpp model to enable Voice Input.",
    "trusted_workspaces": "Trusted workspaces",
    "trusted_workspaces_help": "Trusted projects may manage their command allowances in .coworker/config.toml.",
    "trust_loading": "Loading…",
    "trust_empty": "No workspaces are trusted.",
    "trust_allowances_one": "{{count}} project command allowance",
    "trust_allowances_other": "{{count}} project command allowances",
    "trust_no_allowances": "No project command allowances currently declared",
    "trust_folder_unavailable": " · Folder unavailable",
    "trust_revoke": "Revoke",
    "trust_revoke_confirm": "Revoke command trust for {{path}}?",
    "models_sub": "Providers and the models offered in the composer's picker. Keys are stored only on this computer.",
    "token_savings": "Token savings",
    "token_savings_help": "PDF attachments travel with every turn of a conversation, so large documents multiply what you spend on tokens.",
    "pdf_fallback_label": "PDFs on models without native PDF support",
    "pdf_fallback_aria": "PDF fallback",
    "pdf_extract_text": "Extract text",
    "pdf_send_images": "Send page images",
    "pdf_fallback_help": "Claude, GPT and Gemini read PDFs natively — this only applies to models that don’t (GLM, Kimi, DeepSeek, local models…). Text extraction is cheapest; page images cost more tokens and need a vision-capable model.",
    "pdf_max_pages": "Max pages",
    "pdf_max_size": "Max size",
    "pdf_limits_help": "PDFs over these limits are not attached — you’ll see a notice in the composer instead.",
    "voice_action_failed": "Voice Input could not complete that action.",
    "personas_desc": "Coworkers are agents specialized for a particular role or task. They come equipped with the tools and skills to be successful in that role. Enabling a coworker lets you pick it when starting a conversation.",
    "composer_section": "Composer",
    "context_bar_title": "Show the context window bar",
    "context_bar_desc": "A small meter showing how full the model’s context window is. Turn it off to show the same thing as a number instead."
  },
  "cloud": {
    "check_browser": "Check your browser…",
    "sign_in": "Sign in to OpenWorker Cloud",
    "checking": "Checking OpenWorker Cloud sign-in…",
    "sign_in_first": "Sign in to OpenWorker Cloud first",
    "sign_in_oneclick": "Sign in to OpenWorker Cloud for one-click — or add a token below"
  },
  "update": {
    "ready": "OpenWorker v{{version}} is ready to install.",
    "banner_title": "Update available",
    "downloading": "Downloading…",
    "install_failed": "The update couldn't be installed — it will be offered again next launch.",
    "later": "Later",
    "restart_to_update": "Restart to update"
  },
  "toast": {
    "automation_started": "Automation started",
    "run_count": "run",
    "view_run": "View run",
    "automation_fallback": "Automation"
  },
  "app": {
    "notice": {
      "max_iterations": "Stopped: max iterations reached.",
      "model_switched": "Model switched",
      "interrupted": "Interrupted.",
      "error": "Error: ",
      "context_compacted": "Context compacted",
      "input_rejected": "That message was rejected.",
      "unknown": "unknown"
    },
    "jump_to_latest": "Jump to latest",
    "waiting_for_agent": "Waiting for agent...",
    "compacting_context": "Compacting context…",
    "allow_anyway_message": "I reviewed the blocked {{name}} action — go ahead with it exactly as proposed.",
    "temp_folder_failed": "Could not create a temporary folder.",
    "temp_folder_created": "Temporary folder created",
    "temp_folder_created_git": "Temporary folder created · git initialized",
    "save_project_failed": "Could not save as a project.",
    "saved_as_project": "Saved as a project — now working in {{name}}.",
    "save_as_project": "Save as project…",
    "build_skill_prefill": "Build a new skill for me: {{description}}",
    "build_skill_prefill_empty": "Build a new skill for me: (describe what the skill should do)",
    "sleep": {
      "label": "Sleeping",
      "until": " until {{time}}",
      "team_clause": " while the team works — it also wakes on board activity.",
      "trigger_clause": " — it wakes on its trigger.",
      "talk_anytime": "Talk to it anytime.",
      "ask_status": "Ask for a status",
      "status_prompt": "Quick status check, please — what's moving, what's blocked, and does anything need me?"
    }
  },
  "run_banner": {
    "scheduled_run": "Scheduled run",
    "started_by_automation": "· started by an automation",
    "back_to_runs": "← Back to runs"
  },
  "automations": {
    "title": "Automations",
    "sub": "Recurring tasks OpenWorker runs on a schedule.",
    "active_next": "Active · next {{time}}",
    "allowed_desc": "Standing approvals this automation may use — everything else still asks first.",
    "allowed_without_asking": "Allowed without asking",
    "at": "At",
    "back_to_automations": "← Automations",
    "bot_member_hint": "The bot must be a member of the channel — invite @OpenWorker in Slack if it isn't.",
    "cancel": "cancel",
    "cloud_brokered": "Connections are brokered by OpenWorker Cloud — your tokens stay on this computer.",
    "conn_connected": "connected",
    "conn_not_connected": "not connected yet",
    "connect": "Connect",
    "connected_ok": "✓ Connected",
    "conns_delivery_sched": "Connections, delivery & schedule",
    "consent_prefix": "Allow this automation to post its digest to",
    "consent_suffix": "without asking each time. Anything else still asks first.",
    "create_btn": "Create automation",
    "creating": "Creating…",
    "day_aria": "Day",
    "delete": "Delete",
    "delete_aria": "Delete {{title}}",
    "delete_title": "Delete automation",
    "deliver_app": "In the app",
    "deliver_slack": "Slack DM (connect Slack later)",
    "deliver_to": "Deliver to",
    "delivery_sched": "Delivery & schedule",
    "edit": "Edit",
    "empty_state": "No scheduled tasks yet — use a template above, click <strong>+ New automation</strong>, or just ask OpenWorker in a session.",
    "finish_connecting": "Finish connecting {{name}} in your browser.",
    "finish_connecting_desc": "Approve it there, then come back — this page updates by itself.",
    "finish_signin_desc": "Finish signing in in your browser — this page updates by itself.",
    "freq_daily": "Every day",
    "freq_weekdays": "Weekdays",
    "freq_weekends": "Weekends",
    "gate_connect": "Connect {{names}} to continue",
    "gate_join": "and",
    "gate_pick_channel": "Pick a channel to post to first",
    "instructions_label": "Instructions",
    "instructions_placeholder": "What should it do each run? (e.g. Summarize today's calendar and open tasks.)",
    "last": "last {{status}}",
    "loading": "Loading…",
    "new_automation": "New automation",
    "new_btn": "+ New automation",
    "new_pill": "new",
    "next": "next {{time}}",
    "no_conns_with_cadence": "No connections needed · {{cadence}}",
    "no_runs": "No runs yet.",
    "one_signin_unlocks": "One sign-in unlocks every one-click connection",
    "open_go": "Open ›",
    "open_run": "Open this run's conversation",
    "opening_browser": "Opening browser…",
    "paused": "Paused",
    "post_to_channel": "Post to channel",
    "read_only_pref": "This automation only",
    "read_only_suff": "on schedule — reading never needs approval.",
    "reads": "reads",
    "repeat": "Repeat",
    "repo_placeholder": "owner/repo",
    "repository": "Repository",
    "revoke": "Revoke",
    "revoke_title": "This automation will ask for approval again",
    "run_now": "▶ Run now",
    "runs_desc": "Each run is a live conversation — open one to see what the agent did and ask a follow-up.",
    "runs_label": "Runs",
    "save": "Save",
    "saving": "Saving…",
    "server_hint": "Runs only while openworker-server is up — a missed schedule catches up once when it next starts.",
    "set_up": "Set up",
    "sign_in_to_cloud": "Sign in to OpenWorker Cloud",
    "start_from_template": "Start from a template",
    "the_channel": "the channel",
    "time_aria": "Time",
    "title_label": "Title",
    "title_placeholder": "Title (e.g. Daily standup notes)",
    "waiting_for": "Waiting for {{name}}…",
    "waiting_signin": "Waiting for sign-in…",
    "when": "When",
    "tmpl_brief_instructions_prefix": "Prepare a short morning brief: today's calendar events and gaps, plus email that arrived since yesterday evening. ",
    "tmpl_brief_save": "Save it as the session deliverable.",
    "tmpl_brief_slack": "Send it to me as a Slack DM.",
    "tmpl_github_repo_default": "(the connected repository)",
    "tmpl_github_instructions": "Summarize activity since the last digest in the GitHub repository {{repo}}: merged pull requests, notable commits, and anything needing attention. Post the digest to the Slack channel {{channel}} using send_message.",
    "tmpl_pipeline_instructions": "Review HubSpot activity since the last digest: deals that changed stage, deals going quiet, and deals past their close date. Post a short pipeline digest to the Slack channel {{channel}} using send_message.",
    "tmpl_news_instructions": "Search the web for the most important technology and world news from the last 24 hours and write a concise 5-bullet briefing, saved as a markdown file.",
    "tmpl_inbox_instructions": "Summarize my unread email into one short digest note.",
    "tmpl_cleanup_instructions": "Sort my recent Downloads into tidy folders by file type.",
    "day_mon": "Mondays",
    "day_tue": "Tuesdays",
    "day_wed": "Wednesdays",
    "day_thu": "Thursdays",
    "day_fri": "Fridays",
    "day_sat": "Saturdays",
    "day_sun": "Sundays",
    "cadence_weekly": "Weekly",
    "cadence_daily": "Daily",
    "cadence_weekdays": "Weekdays",
    "tmpl_github_title": "GitHub digest",
    "tmpl_github_blurb": "Merged PRs and commits, posted to your team's Slack.",
    "why_digest_posts": "Where the digest posts",
    "why_digest_summarizes": "What the digest summarizes",
    "tmpl_pipeline_title": "Pipeline digest",
    "tmpl_pipeline_blurb": "Deals that moved — and deals going quiet — posted to Slack.",
    "why_pipeline_activity": "Pipeline and deal activity",
    "tmpl_brief_title": "Morning brief",
    "tmpl_brief_blurb": "Calendar and unread email, summarized before your day starts.",
    "why_meetings_gaps": "Today's meetings and gaps",
    "why_overnight_email": "What arrived overnight",
    "tmpl_news_title": "Morning news briefing",
    "tmpl_news_blurb": "A 5-bullet tech & world news digest, saved as markdown.",
    "tmpl_inbox_title": "Inbox digest",
    "tmpl_inbox_blurb": "One short digest of your unread email.",
    "why_unread_email": "Your unread email",
    "tmpl_cleanup_title": "Folder cleanup",
    "tmpl_cleanup_blurb": "Sort recent Downloads into tidy folders by type.",
    "file_count_one": "{{count}} file",
    "file_count_other": "{{count}} files",
    "run_count_one": "{{count}} run",
    "run_count_other": "{{count}} runs"
  },
  "approval": {
    "allow": "Allow",
    "allow_once": "Allow once",
    "deny": "Deny",
    "verbs": {
      "write_file": "Write a file",
      "edit_file": "Edit a file",
      "apply_patch": "Apply a patch",
      "run_command": "Run a command",
      "send_message": "Send a message",
      "send_file": "Send a file"
    },
    "scope": {
      "connector": "acts on a connected service",
      "stays_mac": "stays on this computer",
      "leaves_mac": "leaves this computer → {{dest}}",
      "connected_chat_fallback": "a connected chat",
      "overwrite_suffix": "· overwrites the existing file",
      "save_skill": "saves to Settings ▸ Skills",
      "web_fallback": "the web",
      "search_provider_dest": "your search provider"
    },
    "btn": {
      "allow_every_time": "Allow every time",
      "always_allow": "Always allow",
      "always_command": "Always allow this command",
      "deny": "Deny",
      "this_automation": "this automation",
      "always_task_title": "Always allow {{name}} → {{target}} for “{{task}}” — revoke any time on its Automations page",
      "always_tool_title": "Always allow {{name}} for this session",
      "add_to_skills": "Add to my skills",
      "not_now": "Not now",
      "always_domain": "Always allow {{host}} this session",
      "always_domain_title": "Every fetch to {{host}} (and its subdomains) runs without asking for the rest of this session",
      "always_search": "Always allow searches this session",
      "always_search_title": "Every web search runs without asking for the rest of this session — the grant ends if you change the search provider",
      "readonly_session": "Allow read-only commands",
      "readonly_session_title": "Auto-allow read-only commands (local reads and pipelines only — no network, writes, or interpreters) for the rest of this session"
    },
    "preview_less": "show less",
    "preview_all_lines": "show all {{n}} lines",
    "preview_full": "show the full message",
    "preview_label": "preview",
    "tool_title": "Tool: {{name}}",
    "file_fallback": "file",
    "as_png_screenshot": "· as a PNG screenshot",
    "with_message": "With the message",
    "resolved_prefix": "Approved: {{state}}",
    "grant": {
      "always_after_approve": "— always allowed once you approve",
      "read_only": "— read-only"
    },
    "save_skill_footer": "Approving adds it to your skills on this computer — usable in every conversation from then on.",
    "search_note": "Queries go to your configured search provider.",
    "search_note_current": "Queries go to your configured search provider (currently: {{provider}}).",
    "reviewer_unsure": "reviewer wasn’t sure: {{note}}"
  },
  "search": {
    "placeholder": "Search chats",
    "no_results": "No chats found.",
    "pinned": "Pinned chats",
    "recent": "Recent chats"
  },
  "integrations": {
    "nav_title": "Connectors",
    "tab_connectors": "Connectors",
    "tab_mcp": "MCP servers",
    "connectors_title": "Connectors",
    "connectors_sub": "Apps and tools your coworkers can use. Connected ones come first.",
    "mcp_title": "MCP servers",
    "mcp_sub": "External tool servers (stdio or HTTP), shared across all agents."
  },
  "intro": {
    "greeting": "What should we produce?",
    "lede": "Pick a task to start — I'll do the work and save the result. Or just type what you need below.",
    "task_folder_title": "Analyze the files in a directory",
    "task_folder_sub": "I'll read them and summarize what matters",
    "task_folder_cta": "Pick a folder →",
    "task_hubspot_title": "Create a report from my HubSpot leads",
    "task_hubspot_sub": "Sources, stages, and who needs follow-up",
    "task_ghslack_title": "Automate a weekly GitHub progress report to Slack",
    "task_ghslack_sub": "Repo activity, summarized and posted every Friday",
    "cta_start": "Start →",
    "cta_configure": "Configure ›",
    "folder_prompt": "Analyze the files in this folder and summarize what matters.",
    "hubspot_prompt": "Create a report on my recent HubSpot leads: sources, stages, and who needs follow-up.",
    "ghslack_prompt": "Set up a weekly progress report: summarize activity in my GitHub repos and post it to Slack every Friday morning."
  },
  "access": {
    "section_title": "Access",
    "region_label": "Session access",
    "sources": "Sources",
    "folders": "Folders",
    "no_connectors": "No connectors enabled for this session.",
    "channels_link": "Channels · {{count}}",
    "toggle_title": "On for this session. Off mutes it for this session only — the connector stays connected.",
    "mute_hint": "Off mutes it for <b>this session only</b> — the connector stays connected.",
    "search_placeholder": "Search connectors…",
    "no_match": "No match — see all on the Connectors page below.",
    "add_source": "+ Add a source",
    "recommended": "Recommended",
    "core_tag": "core",
    "give_folder": "Give access to a folder…",
    "manage_all": "Manage",
    "back_to_sources": "Back to sources",
    "connect_title": "Connect {{title}}",
    "scope_note": "Connecting makes {{title}} available to all your coworkers — the toggle in this list controls just this session.",
    "channels_title": "{{label}} channels",
    "subscribed": "Subscribed channels · {{count}}",
    "no_channels": "Not listening to any {{label}} channel yet.",
    "collision_title": "This channel is also this session's Inbox-routing target — inbound and outbound collide.",
    "stop_listening": "Stop listening",
    "add_channel": "Add a channel",
    "add_btn": "Add",
    "channels_note": "The agent receives messages posted to these channels. Removing one stops this session from listening — the connector stays connected.",
    "summary_no_sources": "no sources",
    "summary_sources_more": "{{first}} +{{more}}",
    "summary_join": "{{sources}} · {{folder}}",
    "addfolder_path_placeholder": "Choose or paste a folder path…",
    "allow_writes": "Allow writing (read-write)",
    "allow_writes_help": "When granted, the agent can read and write files in this folder.",
    "cancel": "Cancel",
    "choose_location": "Choose location",
    "channel_add_error": "Couldn't add that channel.",
    "summary_folder_count_one": "{{count}} folder",
    "summary_folder_count_other": "{{count}} folders"
  },
  "root": {
    "temporary_space": "Temporary folder",
    "main": "main",
    "missing": "missing",
    "read_write": "Read-write",
    "read_only": "Read-only",
    "primary_always_rw": "The main workspace is always read-write",
    "toggle_rw": "Toggle read-only / read-write"
  },
  "inbox": {
    "title": "Inbox",
    "sub": "Approvals, questions, and notifications from your coworkers — including sessions running unattended.",
    "tab_pending": "Pending",
    "tab_configure": "Configure",
    "kind_all": "All",
    "kind_approvals": "Approvals",
    "kind_questions": "Questions",
    "open_session": "Open \"{{label}}\"",
    "session_unavailable": "Session unavailable",
    "all_coworkers": "All coworkers",
    "nothing_pending": "Nothing pending.",
    "nothing_pending_filter": "Nothing pending for this filter.",
    "also_delivered_to": "Also delivered to",
    "replies_resolve": "— replies there resolve items here.",
    "delivered_here_only": "Delivered here only.",
    "delivered_here_only_connect_slack": "Delivered here only. Connect Slack (Connectors page) to also get these in a channel — more platforms later.",
    "configure_arrow": "Configure ›",
    "unrouted_title": "Unrouted",
    "unrouted_sub": "Inbound messages and background-turn failures nothing claimed — nothing vanishes silently.",
    "unattended_approvals": "Unattended approvals",
    "mirror_desc_prefix": "Channel where an Unattended session posts Approve/Deny buttons. Currently mirroring to",
    "mirror_desc_suffix": ".",
    "in_app_inbox_only": "in-app Inbox only",
    "set": "Set",
    "clear": "clear",
    "direct_messages": "Direct messages",
    "dm_desc": "Session that handles DMs to the bot. With none, DMs park under Unrouted below.",
    "dm_no_session": "No session — park DMs",
    "channel_subscriptions": "Channel subscriptions",
    "subscriptions_sub": "— sessions that listen to a channel (inbound)",
    "col_session": "Session",
    "col_listens_to": "Listens to",
    "col_inbox_routes_to": "Inbox routes to",
    "col_when": "When",
    "col_source": "Source",
    "col_reason": "Reason",
    "col_message": "Message",
    "collides": "⚠ collides",
    "collision_title": "This channel is also your Inbox-routing target — inbound and outbound on one channel conflate broadcast with request/reply.",
    "unsubscribe": "Unsubscribe",
    "no_subscriptions": "No channel subscriptions yet — add one below or ask a coworker to watch a channel.",
    "choose_session": "Choose a session…",
    "subscribe": "+ Subscribe",
    "unrouted_empty": "Nothing here — no dropped messages or failed turns.",
    "approve": "Approve",
    "reject": "Reject",
    "dismiss": "Dismiss",
    "always_task_title": "Always allow against {{target}} for \"{{task}}\" — revoke any time on its Automations page",
    "send_count": "Send ({{count}})",
    "or_type_answer": "Or type your own answer…",
    "your_answer": "Your answer…",
    "grant": "Grant",
    "grant_no_folder": "Grant (no folder)",
    "no_folder_suggested": "No folder was suggested",
    "channel_picker_placeholder": "slack:C0123 or channel link",
    "searching_channels": "searching your workspace's channels…",
    "invite_to_listen": "invite @ocw to this channel in Slack so it can listen",
    "channels_this_session": "Channels this session listens to",
    "not_subscribed": "Not subscribed to any channel.",
    "add": "Add",
    "connector_via": "via {{label}}",
    "rel_just_now": "just now",
    "rel_minutes_ago": "{{count}}m ago",
    "rel_hours_ago": "{{count}}h ago",
    "rel_days_ago": "{{count}}d ago",
    "routing_update_failed": "Could not update Inbox routing.",
    "routing_clear_failed": "Could not clear Inbox routing.",
    "missing_slack_owner": "Choose an approval owner under Integrations → Slack before routing approvals here.",
    "make_workspace": "Make workspace",
    "recommended": "Recommended",
    "previous_question": "Previous question",
    "question_n": "Question {{n}}",
    "question_label": "question",
    "step_of": "{{step}} of {{total}}"
  },
  "audit": {
    "title": "Activity",
    "sub": "Recent connector and browser tool activity. Arguments are sanitized before storage.",
    "placeholder_session": "session id",
    "placeholder_connector": "connector",
    "placeholder_tool": "tool",
    "filter": "Filter",
    "no_events": "No audit events yet.",
    "fallback_tool": "tool",
    "fallback_event": "event",
    "session": "session",
    "resource": "resource: {{value}}"
  },
  "plan": {
    "proposed": "The agent proposed a plan",
    "feedback_placeholder": "What should change about the plan?",
    "back": "Back",
    "send_feedback": "Send feedback",
    "request_changes": "Request changes",
    "approve_ask": "Approve — ask per step",
    "approve_and_run": "Approve & run"
  },
  "dirreq": {
    "requesting_access": "The agent is requesting access to a folder",
    "path_placeholder": "Choose or paste a folder path…",
    "choose_location": "Choose location",
    "allow_writing": "Allow writing (read-write)",
    "decline": "Decline",
    "grant_access": "Grant access",
    "requesting_workspace": "The agent asks to make a folder this session's workspace",
    "primary_note": "Granting makes this folder the session's primary working directory (read-write); the scratch directory stays available for temporary files and artifacts.",
    "make_workspace": "Make workspace"
  },
  "todo": {
    "title": "Tasks"
  },
  "folder_gate": {
    "open_error": "could not open that folder",
    "choose_folder": "Choose a project folder",
    "create_sub": "Pick a folder or enter a path. If the path doesn't exist, it will be created.",
    "choose_sub": "This coworker needs a workspace to read, edit, and run in.",
    "path_placeholder": "/path/to/your/project",
    "pick_folder": "Pick a folder",
    "browse": "Browse…",
    "create": "Create",
    "open": "Open",
    "cancel": "Cancel",
    "where_work": "Where should {{name}} work?",
    "send_sub": "Code work happens inside a folder — pick your project, or start somewhere temporary.",
    "choose_a_folder": "Choose a folder…",
    "use_temp": "Use temporary folder",
    "temp_note": "A temporary folder is created only when you send, with git ready — you can save it as a project later. Your message sends as soon as you choose."
  },
  "connector": {
    "not_connected": "Not connected",
    "connect": "Connect",
    "disconnect": "Disconnect",
    "disconnecting": "Disconnecting…",
    "connected": "Connected",
    "connected_count": "Connected · {{count}}",
    "built_in": "Built in",
    "loading": "Loading…",
    "back_to_connectors": "‹ Connectors",
    "search": "Search",
    "available": "Available",
    "nothing_matches": "Nothing matches.",
    "more_count": "{{count}} more ·",
    "show_all": "show all",
    "default": "Default",
    "make_default": "Make default",
    "people": "People",
    "waiting": "Waiting",
    "listening": "Listening",
    "in_channel": "in {{name}}",
    "allow": "Allow",
    "allow_deliver": "Allow & deliver",
    "dismiss": "Dismiss",
    "unsubscribe_title": "Unsubscribe this session",
    "live": "Live",
    "ready": "Ready",
    "offline": "Offline",
    "reconnecting": "Reconnecting",
    "sign_in_needed": "Sign-in needed",
    "token": "Token",
    "tools_label": "› Tools",
    "tools_enabled": "{{enabled}} of {{total}} enabled",
    "asks_first": "asks first",
    "read": "read",
    "add_custom_mcp": "+ Add custom MCP server",
    "account_count_one": "{{count}} account",
    "account_count_other": "{{count}} accounts",
    "portal_count_one": "{{count}} portal",
    "portal_count_other": "{{count}} portals",
    "slack_status_one": "{{count}} workspace · relay",
    "slack_status_other": "{{count}} workspaces · relay"
  },
  "github": {
    "relay_live": "Live · managed relay",
    "relay_signin_needed": "Sign-in needed — relaying is paused",
    "relay_offline": "Offline — can't reach the relay",
    "relay_reconnecting": "Reconnecting to the relay…",
    "connected_pat": "Connected · personal access token",
    "add_installation": "＋ Add installation",
    "add_installation_title": "Add an installation",
    "setup_blurb": "One @ocw-agent App, installed per account or org — you pick the repos on GitHub; each installation keeps its own allow-list.",
    "setup_cloud_note": "One-click needs cloud sign-in; a PAT works without it.",
    "manual_card_note": "Personal access token · tools only. Install the GitHub App to let @-mentions and the agent label reach this computer.",
    "triggers_foot": "Triggers: @ocw-agent mentions and the \"ocw-agent\" label. The agent replies as ocw-agent[bot].",
    "all_repos": "all repos",
    "selected_repos": "selected repos",
    "install_revoked": "⚠ Installation revoked — reinstall",
    "empty_parked_note": "No one allowed yet — @ocw-agent mentions show up here for your OK.",
    "nobody_yet": "nobody yet — approve a waiting sender below",
    "disconnect_install": "Disconnect installation",
    "disconnect_install_title": "Stops relaying this installation to this computer. The App stays installed on GitHub.",
    "allow_deliver_title": "Allow the sender and deliver this mention now",
    "allow_discard_title": "Allow the sender; this mention is discarded"
  },
  "slack": {
    "relay_live": "Live · managed relay",
    "relay_signin_needed": "Sign-in needed — relaying is paused",
    "relay_offline": "Offline — can't reach the relay",
    "relay_reconnecting": "Reconnecting to the relay…",
    "connected_socket_mode": "Connected · Socket Mode (manual tokens)",
    "add_workspace": "＋ Add workspace",
    "add_workspace_title": "Add a workspace",
    "setup_blurb": "One @ocw app, installed per workspace — each keeps its own allow-list.",
    "setup_cloud_note": "One-click needs cloud sign-in; Manual works without it.",
    "workspace_default": "workspace",
    "manual_tokens": "· manual tokens",
    "names_foot": "Names come from Slack automatically. IDs show on hover.",
    "token_revoked": "⚠ Token revoked — reinstall",
    "empty_parked_note": "No one allowed yet — mentions of the bot show up here for your OK.",
    "disconnect_workspace": "Disconnect workspace",
    "disconnect_workspace_title": "Stops relaying this workspace to this computer. The app stays installed in Slack.",
    "you": "You",
    "you_suffix": "· you",
    "nobody_yet": "nobody yet — pick a name, or approve a waiting sender below",
    "add_person": "＋ Add person",
    "pick_from_directory": "Pick from the workspace directory",
    "type_a_name": "Type a name…",
    "no_matches": "no matches",
    "guest": "guest",
    "directory_unavailable": "directory unavailable",
    "directory_foot": "From your workspace directory — stays on this computer.",
    "allow_deliver_title": "Allow the sender and deliver this message now",
    "allow_discard_title": "Allow the sender; this message is discarded",
    "hiw_show": "Show how mentions work",
    "hiw_collapse": "Collapse — reopen anytime",
    "hiw_how_it_works": "How it works",
    "hiw_hide": "Hide",
    "hiw_title": "Getting started with Slack & OpenWorker",
    "hiw_workspace": "Workspace",
    "hiw_connected": "connected",
    "hiw_on_people_list": "— you're on the People list, so your mentions get through.",
    "hiw_how_mentions": "— here's how mentions reach you.",
    "hiw_you": "You",
    "approvals_label": "Approvals",
    "choose_owner_warning": "Choose at least one owner before routing Inbox approvals to Slack.",
    "installer_suffix": "· installer",
    "owner_suffix": "· owner",
    "owner_protected_title": "Remove approval-owner access before removing this person.",
    "remove_owner_title": "remove approval owner",
    "remove_owner_failed": "could not remove approval owner",
    "add_owner": "＋ Add owner",
    "owner_set_by_installer": "Set by the workspace installer.",
    "you_fallback": "You",
    "hiw_mention_new": "a @mention starts a NEW session",
    "hiw_answer_thread": "the answer comes back as a thread",
    "hiw_thread_same": "chatting in the thread continues the SAME conversation",
    "hiw_first_senders": "first-time senders wait for your OK",
    "hiw_members": "members",
    "hiw_today": "Today",
    "hiw_today_at": "Today at",
    "hiw_msg_signups": "signups are spiking since the post 📈",
    "hiw_1reply": "1 reply",
    "hiw_2replies": "2 replies",
    "hiw_summarize": "summarize this thread",
    "hiw_msg_launch": "Message #launch-room",
    "hiw_thread": "Thread",
    "hiw_msg_traction": "Launch traction: signups up 3.4× since the post…",
    "hiw_reply": "Reply…",
    "hiw_break_country": "break it down by country?",
    "hiw_top_countries": "Top: US 41% · India 22% · Germany 9%…",
    "hiw_reading_thread": "Reading the thread… signups up 3.4×, top referrer is the press page.",
    "hiw_replying_slack": "replying in the Slack thread",
    "hiw_msg_kp": "Message OpenWorker…",
    "hiw_new_session": "New session",
    "hiw_search": "Search",
    "hiw_automations": "Automations",
    "hiw_recent": "RECENT",
    "hiw_summarize_room": "Summarize #launch-room",
    "hiw_via_slack": "via Slack",
    "hiw_jira_linear": "Jira vs Linear",
    "hiw_coworker": "Coworker",
    "hiw_via_slack_same": "via Slack — same session",
    "hiw_signups_referrer": "…signups up 3.4×, top referrer is the press page.",
    "hiw_top_countries_full": "Top countries: US 41%, India 22%, Germany 9% — context kept from the whole thread.",
    "hiw_after_allow": "after you allow",
    "hiw_pull_numbers": "pull the signup numbers?",
    "hiw_is_waiting": "is waiting",
    "hiw_allow_deliver": "Allow & deliver",
    "hiw_each_teammate_prefix": "Each teammate's",
    "hiw_first": "first",
    "hiw_each_teammate_suffix": "mention waits for your OK — then they're on the People list and it flows.",
    "hiw_tab_mention": "Mention → session",
    "hiw_tab_threads": "Threads stay connected",
    "hiw_tab_teammates": "Allow teammates",
    "hiw_cap_mention": "Mention @OpenWorker in any channel it's invited to — a session opens here, and the answer lands back in Slack as a thread.",
    "hiw_cap_threads": "Mention it again inside the thread — the conversation continues in the same session, context intact. The thread is the session.",
    "hiw_cap_teammates": "Teammates aren't auto-trusted: their first mention waits for your OK, then they're on the People list.",
    "hiw_threads": "Threads",
    "hiw_drafts": "Drafts & sent",
    "hiw_channels": "Channels",
    "hiw_direct_messages": "Direct messages",
    "hiw_agents_apps": "Agents & apps",
    "hiw_search_desc": "Describe what you are looking for",
    "hiw_via_slack_now": "via Slack · now"
  },
  "gmail": {
    "add_account": "＋ Add account",
    "add_account_coming_soon": "＋ Add account · Coming soon",
    "coming_soon_title": "One-click Google sign-in is coming soon",
    "setup_blurb": "Sign in with Google — each mailbox stays separate, agents say which one they use.",
    "requires_cloud": "Requires cloud sign-in.",
    "accounts": "Accounts",
    "sign_in_again": "⚠ Sign in again",
    "disconnect_mailbox_title": "Disconnect this mailbox",
    "never_show_agents": "Never show agents",
    "senders": "Senders",
    "senders_placeholder": "name@example.com or @domain.com",
    "labels": "Labels",
    "labels_placeholder": "Label name, e.g. Personal",
    "filters_foot": "Filters are enforced on this computer, before an agent sees results. Hidden counts show on the tool card and in Activity — never the content.",
    "filters_foot_inner": "Matching email is silently left out of what agents read — no trace they could probe."
  },
  "hubspot": {
    "add_portal": "＋ Add portal",
    "add_portal_title": "Add a portal",
    "setup_blurb": "Connect a portal — read-only or read & write is chosen at consent; there are no delete tools either way.",
    "portals": "Portals",
    "sandbox": "Sandbox",
    "read_write": "read & write",
    "read_only": "read-only",
    "private_app": "private app",
    "disconnect_portal_title": "Disconnect this portal",
    "access_privacy": "Access & privacy",
    "hidden_fields": "Hidden fields",
    "hidden_fields_placeholder": "Property name, e.g. salary",
    "hidden_fields_foot": "Hidden fields never reach an agent; stripped counts land in Activity. To limit what a HUMAN teammate could ask for, use HubSpot permission sets on the connected user.",
    "hidden_fields_foot_inner": "Stripped from every record agents read, across all portals.",
    "portal_count_one": "{{count}} portal",
    "portal_count_other": "{{count}} portals"
  },
  "calendar": {
    "add_account": "＋ Add account",
    "add_account_coming_soon": "＋ Add account · Coming soon",
    "coming_soon_title": "One-click Google sign-in is coming soon",
    "setup_blurb": "Sign in with Google — each account stays separate, agents say which one they use.",
    "requires_cloud": "Requires cloud sign-in.",
    "accounts": "Accounts",
    "sign_in_again": "⚠ Sign in again",
    "disconnect_account_title": "Disconnect this account",
    "events_approval_foot": "Creating, changing, or deleting events always asks for your approval first, and the approval names the account.",
    "google_calendar": "Google Calendar"
  },
  "accounts": {
    "add_account": "＋ Add account",
    "add_manually": "Add manually",
    "add_an_account": "Add an account",
    "accounts": "Accounts",
    "disconnect_account_title": "Disconnect this account",
    "foot": "Each account stays separate — tool results and approvals name the account they used."
  },
  "available": {
    "connect": "Connect",
    "access": "Access",
    "access_foot": "Keys and tokens are stored only on this computer. Disconnect anytime.",
    "tools": "Tools",
    "hide": "Hide",
    "view": "View",
    "asks_first": "asks first",
    "tools_added_one": "{{count}} tool this connector adds",
    "tools_added_other": "{{count}} tools this connector adds"
  },
  "modal": {
    "connect_title": "Connect {{title}}",
    "close": "Close",
    "one_click": "One click",
    "manual": "Manual",
    "recommended": "Recommended",
    "tokens_stay_local": "tokens stay on this computer",
    "could_not_start_connect": "could not start the connect",
    "could_not_start_install": "could not start the install",
    "could_not_connect": "could not connect",
    "validating": "Validating…",
    "connect": "Connect",
    "mcp_blurb": "Opens {{title}} in your browser — sign in and approve access there. No tokens typed, and no OpenWorker account needed: the sign-in runs entirely on this computer.",
    "mcp_recommended_foot": "agents get a curated set of {{title}} tools · tokens stay on this computer",
    "generic_blurb": "Opens {{title}} in your browser — approve access there. No tokens typed; connect again with another account to add it alongside.",
    "slack_blurb": "Opens Slack in your browser — approve @ocw for the workspace. No tokens; works for any number of workspaces.",
    "add_to_slack": "Add to Slack",
    "slack_recommended_foot": "relay · tokens stay on this computer",
    "github_blurb": "Opens GitHub in your browser — approve OpenWorker there. An existing @ocw-agent App installation links right up; otherwise you'll pick an account and repos. No tokens typed; the agent acts as ocw-agent[bot].",
    "connect_github": "Connect GitHub",
    "github_recommended_foot": "relay · short-lived tokens, never stored",
    "hubspot_blurb": "Opens HubSpot in your browser — pick the portal there. What agents may do is chosen NOW, at consent:",
    "hubspot_readonly": "Read-only",
    "hubspot_readonly_blurb": "search and read contacts, companies, deals, tickets",
    "hubspot_readwrite": "Read & write",
    "hubspot_readwrite_blurb": "adds: log notes and tasks, update records, create contacts — never delete",
    "connect_hubspot": "Connect HubSpot",
    "hubspot_foot": "Works for any number of portals · tokens stay on this computer",
    "slack_manual_step1": "Create an app at api.slack.com/apps",
    "slack_manual_step2": "Enable Socket Mode, add bot scopes, install it to your workspace",
    "slack_manual_step3": "Paste both tokens",
    "bot_token_placeholder": "Bot token · xoxb-…",
    "app_token_placeholder": "App token · xapp-…",
    "slack_manual_pause_note": "One mode at a time — this pauses any relay workspaces."
  },
  "gallery": {
    "all_personas": "All coworkers",
    "back_to_gallery": "← Gallery",
    "can_message": "can use messaging",
    "capabilities_desc": "Read by this app's own parser, so it matches exactly what the install consent will ask you to approve. No executable code is installed.",
    "capabilities_title": "What it can do — verified from its manifest",
    "check_browser": "Check your browser…",
    "close_aria": "Close gallery",
    "connect_yourself_note": "You connect these yourself (one click when signed in) — installing the coworker grants it nothing until you do.",
    "core_tag": "core",
    "could_not_load": "could not load details",
    "detail_meta": "v{{version}} · {{publisher}} · {{risk}}",
    "done": "Done",
    "empty_none": "No coworkers published yet.",
    "empty_search": "No coworkers match your search.",
    "empty_team": "Nothing shared with your team yet.",
    "featured": "Featured",
    "filter_all": "All",
    "filter_brand": "From OpenWorker",
    "filter_team": "From your team",
    "install": "Install",
    "install_failed": "install failed",
    "installed": "Installed",
    "installed_waiting": "Installed — it's waiting in Personas, disabled until you approve and enable it.",
    "installing": "Installing…",
    "loading": "Loading…",
    "loading_gallery": "Loading the gallery…",
    "mcp_suffix": "MCP: {{mcp}}",
    "mode_suffix": "{{mode}} mode",
    "none": "none",
    "permissions_label": "Permissions: ",
    "risk_suffix": " · risk: {{risk}}",
    "search_placeholder": "Search coworkers",
    "sign_in": "Sign in",
    "signin_desc": "The Gallery is a curated set of coworkers from OpenWorker Cloud and needs a (free) cloud sign-in. Installing personas from a folder or Git URL — on the Personas page — always works without an account.",
    "signin_title": "Sign in to browse the Gallery",
    "subtitle": "Curated coworkers · installs stay disabled until you approve them",
    "team_teaser": "From your team — nothing shared yet. Publishing a coworker to your teammates is coming soon.",
    "title": "Coworker Gallery",
    "tools_label": "Tools: ",
    "unreachable": "The gallery is unreachable right now — try again in a moment.",
    "version_publisher": "v{{version}} · {{publisher}}",
    "view_install": "View & install →",
    "works_with": "Works with these connections:"
  },
  "manage": {
    "add_btn": "Add",
    "allowed_empty": "nobody yet — Allow a recent sender →",
    "allowed_to_message": "Allowed to message",
    "cancel": "cancel",
    "check_browser": "Check your browser…",
    "coming_soon": "Coming soon",
    "composer_picker_help": "The models offered when starting a session; the black badge marks the default. Add more from a provider's card above.",
    "composer_picker_title": "In the composer's picker",
    "connect": "Connect",
    "connect_one_click": "Connect {{title}} with one click",
    "connector_no_tools": "No tools for this connector yet.",
    "could_not_connect": "could not connect",
    "could_not_start_connect": "could not start the connect",
    "could_not_start_managed": "could not start the connect",
    "id_title": "ID: {{id}}",
    "included_models": "Included models",
    "included_models_help": "Curated, agent-capable models this provider serves — add your key above to enable them.",
    "listening_empty": "None yet — open a session's Sources ▸ Channels to subscribe it to a channel.",
    "listening_title": "Sessions listening to {{title}} channels · {{n}}",
    "listening_unsub_tip": "Unsubscribe",
    "loading": "Loading…",
    "mcp_add_btn": "+ Add server",
    "mcp_add_server": "Add a server",
    "mcp_asks": "asks",
    "mcp_connect_failed": "failed to connect",
    "mcp_enable": "Enable this server",
    "mcp_help": "External tool servers (stdio or HTTP), shared across all agents. Reload the app after editing mcp.json — or reload now.",
    "mcp_hide_tools": "hide tools",
    "mcp_invalid_json": "Invalid JSON: {{msg}}",
    "mcp_no_tools": "No tools.",
    "mcp_none": "No MCP servers configured.",
    "mcp_oauth": "oauth",
    "mcp_paste_help": "Paste a '{ \"<name>\": { … } }' object (or a full mcpServers block).",
    "mcp_paste_label": "Paste server JSON (name → config):",
    "mcp_sign_in": "Sign in",
    "mcp_sign_out": "sign out",
    "mcp_signing_in": "signing in…",
    "mcp_tool_count": "{{n}} tools",
    "mcp_tools": "tools",
    "mcp_waiting_browser": "waiting for browser…",
    "models": "Models",
    "models_help": "Ticked models show in the composer's picker; the black badge marks the default for new sessions.",
    "one_click_coming": "One-click sign-in is coming soon — connect manually below for now:",
    "openai_env_help": "A key is set via OPENAI_API_KEY in this server's environment. Add a different key here to override it for this computer.",
    "optional": "(optional)",
    "or_connect_manually": "or connect manually:",
    "parked_allow_deliver": "Allow & deliver",
    "parked_allow_deliver_tip": "Allow the sender and deliver this message now",
    "parked_allow_only": "Allow only",
    "parked_allow_tip": "Allow the sender; this message is discarded",
    "parked_dismiss": "Dismiss",
    "parked_dismiss_tip": "Discard this message without allowing the sender",
    "parked_in": "in {{chat}}",
    "parked_title": "Messages from senders you haven't allowed · {{n}}",
    "recent_empty": "None yet. Message the bot once and it'll show here.",
    "recent_senders": "Recent senders",
    "reload_now": "reload now",
    "reltime_day": "{{n}}d ago",
    "reltime_hour": "{{n}}h ago",
    "reltime_just_now": "just now",
    "reltime_min": "{{n}}m ago",
    "remove_from_picker": "Remove from the picker",
    "remove_key": "Remove key…",
    "remove_key_confirm": "Remove the {{title}} key from this computer?",
    "signin_unlocks": "Sign-in unlocks the one-click {{title}} connect — or connect manually below.",
    "tool_asks_approval": "{{name}} · {{kind}} · asks approval",
    "tools_exposed": "Tools exposed to OpenWorker",
    "unknown": "unknown",
    "validating": "Validating…"
  },
  "models": {
    "add_btn": "Add",
    "add_placeholder": "Add another model…",
    "default_badge": "default",
    "default_locked": "The default model is always shown — make another model default first",
    "key_set": "Key set",
    "make_default": "Make default"
  },
  "onboarding": {
    "cancel": "Cancel",
    "check_browser": "Check your browser…",
    "checking": "Checking…",
    "coming_soon": "Coming soon",
    "connect": "Connect",
    "connect_tools_intro": "Chat can only advise. Connected, your coworker does the actual work:",
    "connect_tools_title": "Connect your everyday tools",
    "connected_ok": "✓ Connected",
    "continue_without_signin": "Continue without sign-in",
    "cta_automation_desc": "A weekly digest, a morning brief — pick a template, running in two minutes.",
    "cta_automation_title": "Create your first automation",
    "cta_work_desc": "Open a session and just ask — analyze files, draft, research, build.",
    "cta_work_title": "Start working with Coworker",
    "google_pair_detail": "Coming soon — pending Google's app verification.",
    "google_pair_title": "Gmail & Google Calendar",
    "model_intro": "Pick a model provider to get started — OpenWorker runs on your own key, and your key and your data stay on this computer.",
    "models_settings_hint": "Models can be enabled or hidden anytime in Settings ▸ Models.",
    "more_tools_hint": "30+ more tools on the Connectors page — add or remove anytime. Tokens stay on this computer.",
    "next": "Next",
    "opening_browser": "Opening browser…",
    "replay_hint": "Replay this setup anytime: Settings ▸ Appearance ▸ Run setup again.",
    "sign_in": "Sign in",
    "signed_in_as": "🎉 You’re signed in as {{account}}",
    "signed_in_desc": "Connect a tool above with one click — or add them anytime later from the Connectors page.",
    "signin_band_desc": "OpenWorker handles the OAuth for 20+ tools — no dev consoles, no pasted keys. Tokens stay on this computer.",
    "signin_for_oneclick": "Sign in for one-click connections",
    "skip_anyway": "skip anyway",
    "skip_setup": "Skip setup",
    "skip_warn_pref": "Nothing works without a model —",
    "two_ways": "Two good ways to start:",
    "waiting": "Waiting…",
    "youre_set_up": "You're set up",
    "welcome": "Welcome to OpenWorker",
    "tool_outlook_benefit": "Stay on top of email",
    "tool_outlook_detail": "Outlook — triage mail, draft replies, run your calendar.",
    "tool_slack_benefit": "Keep up with Slack",
    "tool_slack_detail": "Slack — catch up, answer mentions, post updates.",
    "tool_github_benefit": "Ship code",
    "tool_github_detail": "GitHub — review PRs, watch issues, reply to @mentions.",
    "tool_notion_benefit": "Keep your notes in reach",
    "tool_notion_detail": "Notion — search pages, query databases, draft docs.",
    "tool_hubspot_benefit": "Keep the CRM current",
    "tool_hubspot_detail": "HubSpot — update deals, log notes, prep calls.",
    "tool_attio_benefit": "Track every relationship",
    "tool_attio_detail": "Attio — search records, read timelines, log notes.",
    "signed_in": "🎉 You’re signed in"
  },
  "persona": {
    "about": "About",
    "add": "Add",
    "back": "Back",
    "builtin_capabilities": "Built-in capabilities",
    "connect": "Connect",
    "connect_this_first": "Connect this first",
    "connect_to_enable": "connect to enable",
    "connected": "● Ready",
    "connections_desc": "Declared by the persona — wire {{name}} into these to unlock its full workflow.",
    "connections_full_benefit": "Connections for full benefit",
    "core_tag": "core",
    "default_mode_label": "Default mode",
    "disabled": "Disabled",
    "enable_title": "Enable this coworker",
    "enabled": "Enabled",
    "hero_art": "{{slug}} artwork",
    "load_error": "Could not load this coworker.",
    "loading": "Loading…",
    "models_label": "Models",
    "new_sessions_default": "New sessions get by default",
    "new_sessions_desc": "When you start a {{name}} session these are enabled automatically. You can still mute any of them per session.",
    "on_by_default": "On by default for new sessions",
    "persona": "Coworker",
    "workspace_label": "Workspace",
    "prev_screenshot": "Previous screenshot",
    "next_screenshot": "Next screenshot",
    "screenshot_alt": "{{name}} screenshot {{n}}",
    "screenshot_n": "Screenshot {{n}}",
    "connectors": "Connectors",
    "col_status": "Status",
    "col_enable": "Enable",
    "advanced": "Advanced",
    "tool_calls": "Tool calls",
    "workspace_picked": "picked folder",
    "workspace_scratch": "scratch",
    "show_in_picker": "Show in picker",
    "default_for_new": "Default for new sessions",
    "make_default": "Make default",
    "export": "Export…",
    "exported_to": "Exported to {{path}}",
    "export_failed": "export failed",
    "defaults_footnote": "Enabled connectors are on when a new session starts — you can still mute any of them per session.",
    "delete": "Delete",
    "keep": "Keep",
    "delete_ellipsis": "Delete…",
    "delete_failed": "delete failed"
  },
  "personas": {
    "add_help": "Load from a local directory or a public GitHub repo. Files are copied into a managed area (a snapshot), so the source can change without affecting the install.",
    "add_section": "Add personas",
    "builtin": "· built-in",
    "configure_title": "Configure {{name}}",
    "connectors_tag": "connectors",
    "default_for_new": "Default for new sessions",
    "delete": "Delete",
    "delete_failed": "Couldn't delete — it may be in a session.",
    "delete_title": "Delete {{name}}",
    "delete_tooltip": "Delete this persona",
    "disable": "Disable",
    "enable_intro": "Enable a coworker, then choose whether it appears in the new-session picker. The starred persona is the default for new sessions.",
    "enabled": "Enabled",
    "in_picker": "In picker",
    "install": "Install",
    "install_failed": "Install failed",
    "installing": "Installing…",
    "keep": "Keep",
    "keep_enabled": "Keep enabled",
    "mcp_tag": "mcp",
    "messaging_tag": "messaging",
    "mode_github": "GitHub URL",
    "mode_local": "Local folder",
    "placeholder_github": "https://github.com/acme/ops-coworker",
    "placeholder_local": "/path/to/persona/dir",
    "recommended_mode": "Recommended mode: {{mode}}. Enable it above to use it.",
    "risk_label": "Risk: {{risk}}",
    "set_default": "Set default",
    "tools_label": "Tools: {{tools}}",
    "mode_zip": "Bundle zip",
    "group_general": "General",
    "group_security": "Security",
    "unshipped_row_one": "Not in this release · {{count}} coworker",
    "unshipped_row_other": "Not in this release · {{count}} coworkers",
    "internal_build": "internal build",
    "not_in_release": "not in this release",
    "install_coworker": "Install a coworker",
    "install_sources": "GitHub · folder · .zip",
    "choose_folder": "Choose folder…",
    "dir_picker_note": "Opens the system folder picker; installs on selection.",
    "choose_zip": "Choose a .zip bundle…",
    "install_trust_note": "Only install coworkers from sources you trust and can hold accountable — a coworker runs with access to your system. Files are snapshotted into a managed area; no third-party code runs, but the instructions steer the coworker. Best used by teams whose lead builds and distributes coworkers through official channels.",
    "disable_warning_one": "Disabling archives its {{count}} conversation — it stays available under \"Show archived\".",
    "disable_warning_other": "Disabling archives its {{count}} conversations — they stay available under \"Show archived\".",
    "installed_one": "Installed {{count}} coworker — review and enable below.",
    "installed_other": "Installed {{count}} coworkers — review and enable below.",
    "default_tag": "Default",
    "disable_coworker": "Disable this coworker",
    "enable_coworker": "Enable this coworker",
    "enabling": "Enabling…",
    "install_shield_warning": "Only enable coworkers from someone you trust. Nothing here runs third-party code — but its instructions will guide the coworker's behavior.",
    "risk": {
      "read": "read files",
      "write_local": "create & edit files",
      "exec": "run shell commands",
      "network": "access the network",
      "write_remote": "act on connected services"
    },
    "risk_join_and": "and",
    "consent_replaces": "Replaces {{name}}",
    "consent_installed_at": "(installed {{date}})",
    "consent_caps_grew": "This update asks for MORE capabilities than the copy it replaces — review below before re-enabling.",
    "consent_caps_same": "Same capabilities as before — it stays enabled.",
    "consent_can": "Can {{summary}}",
    "consent_all_connectors": "· use ALL your connected services",
    "consent_use_connectors": "· use connectors: {{list}}",
    "consent_send_messages": "· send messages",
    "consent_use_mcp": "· use MCP: {{list}}",
    "consent_hide_tools": "Hide tools",
    "consent_exact_tools": "Exact tools ({{n}})",
    "consent_recommended_tag": "(recommended)",
    "consent_optional_tag": "(optional)",
    "consent_enabled_note": "✓ Enabled — it's in your coworker picker.",
    "consent_recommended_mode": "Recommended mode: {{mode}}."
  },
  "provider": {
    "all_providers": "‹ All providers",
    "connected_ok": "✓ Connected",
    "create_key_at": "Create one at {{label}}",
    "custom_endpoint": "Custom endpoint",
    "days_ago": "{{count}}d ago",
    "detect_btn": "Detect",
    "detected_pill": "✓ Detected",
    "err_couldnt_verify": "couldn't verify",
    "err_unreachable": "unreachable",
    "hours_ago": "{{count}}h ago",
    "install_ollama": "Install Ollama",
    "just_now": "just now",
    "minutes_ago": "{{count}}m ago",
    "no_key_needed": "No key needed",
    "no_key_needed_desc": "No API key needed — Ollama runs models on this computer.",
    "no_key_yet": "No key yet?",
    "not_set_up": "Not set up",
    "running": "✓ Running",
    "saved_pill": "✓ Saved",
    "takes_a_minute": "— takes about a minute.",
    "test_btn": "Test",
    "tested_saved_pill": "✓ Tested & saved",
    "used_suffix": " · used {{time}}",
    "signed_in": "✓ Signed in",
    "signed_in_as": "✓ Signed in as {{account}}",
    "sign_in_with_plan": "Sign in with your plan",
    "sign_out": "Sign out",
    "oauth_plan_note": "Usage draws on the plan's rolling window, not per-token billing. Sign-in stays on this computer.",
    "oauth_waiting": "Waiting for the browser…",
    "sign_in_chatgpt": "Sign in with ChatGPT",
    "oauth_finish_browser": "Finish signing in in the browser window.",
    "oauth_reopen": "Reopen the sign-in page",
    "oauth_start_error": "Couldn't start the sign-in.",
    "copy_command": "Copy command",
    "test_save_hint": "Runs one read-only check, then saves.",
    "test_save_btn": "Test & save"
  },
  "workspace_trust": {
    "title": "Trust this workspace’s commands?",
    "sub": "This project asks OpenWorker to run the commands below without individual approval. Trust applies to future configuration changes at this exact folder until you revoke it in Settings.",
    "save_failed": "Could not save workspace trust.",
    "keep_asking": "Keep asking",
    "saving": "Saving…",
    "trust": "Trust workspace"
  },
  "board": {
    "summary_blocked": "{{count}} blocked",
    "summary_review": "{{count}} review",
    "summary_in_progress": "{{count}} in progress",
    "summary_open": "{{count}} open",
    "no_active_work": "No active work",
    "open_item": "Open item",
    "hide_finished": "Hide finished",
    "finished_show": "{{count}} finished · show",
    "finished": "Finished",
    "state_blocked": "Blocked",
    "state_awaiting_review": "Awaiting review",
    "state_in_progress": "In progress",
    "state_queued": "Queued",
    "state_done": "Done",
    "state_canceled": "Canceled",
    "state_in_review": "In review",
    "blocked_with": "blocked: {{blocker}}",
    "blocked_label": "blocked",
    "close_board": "Close board",
    "open_worker_session": "Open this coworker's session",
    "filed_by": "filed by {{creator}}",
    "done_when_line": "<label>Done when</label> — {{criteria}}",
    "add_note_placeholder": "Add a note…",
    "add_note_title": "Leaves a note on the item — never changes its state",
    "changes_placeholder": "What needs to change?",
    "cancel": "Cancel",
    "mark_done": "Mark done",
    "request_changes_ellipsis": "Request changes…",
    "reopen": "Reopen",
    "tl_filed": "filed this",
    "tl_assigned": "assigned to {{assignee}}",
    "tl_claimed": "claimed this",
    "tl_started": "started",
    "tl_moved": "moved to {{state}}",
    "tl_commented": "commented",
    "wake_title": "Board wake",
    "wake_update": "update",
    "wake_review_one": "{{count}} review",
    "wake_review_other": "{{count}} reviews",
    "wake_blocked_one": "{{count}} blocked",
    "wake_blocked_other": "{{count}} blockeds",
    "wake_canceled_one": "{{count}} canceled",
    "wake_canceled_other": "{{count}} canceleds",
    "wake_move_one": "{{count}} move",
    "wake_move_other": "{{count}} moves",
    "wake_filing_one": "{{count}} filing",
    "wake_filing_other": "{{count}} filings",
    "wake_claim_one": "{{count}} claim",
    "wake_claim_other": "{{count}} claims",
    "wake_assignment_one": "{{count}} assignment",
    "wake_assignment_other": "{{count}} assignments",
    "wake_comment_one": "{{count}} comment",
    "wake_comment_other": "{{count}} comments",
    "wake_chat_message_one": "{{count}} chat message",
    "wake_chat_message_other": "{{count}} chat messages",
    "wake_moved": "{{ref}} → {{to}} by {{actor}}",
    "wake_filed": "{{actor}} filed {{ref}}",
    "wake_claimed": "{{actor}} claimed {{ref}}",
    "wake_assigned": "{{ref}} assigned to you",
    "wake_commented": "{{actor}} commented on {{ref}}",
    "wake_chat": "# team chat — {{actor}}",
    "wake_show_message": "show message",
    "wake_show_handoff": "show hand-off"
  },
  "team": {
    "back_to_session": "Back to session",
    "chat_tagline": "questions & consensus — status lives on the board",
    "chat_empty": "No messages yet. Agents post here only when something needs a reply — @mention a coworker to reach it.",
    "you": "You",
    "chat_placeholder": "Message # team chat…  (posts as you — every member sees it)",
    "proposed_one": "Proposed team — {{count}} worker",
    "proposed_other": "Proposed team — {{count}} workers",
    "enable_chat": "Enable <b># team chat</b>",
    "chat_info": "A group channel for questions and consensus — @mentions wake the mentioned coworker. Status stays on the board either way.",
    "grant_note": "Approving grants the lead create, assign & steer — this team only, revocable.",
    "not_now": "Not now",
    "create_start": "Create team & start",
    "proposed_items": "Proposed work items — {{count}}",
    "items_done_when": "Done when:",
    "show_less": "Show less",
    "show_full_criteria": "Show full criteria",
    "more_items_one": "＋ {{count}} more item",
    "more_items_other": "＋ {{count}} more items",
    "items_grant": "Reply to edit the split; approval creates these on the board.",
    "approve_items": "Approve items"
  },
  "toolreq": {
    "needs": "The coworker needs <code>{{tool}}</code>",
    "reason_line": "<label>Reason:</label> “{{reason}}”",
    "installs_with_source": "OpenWorker installs its own verified copy from {{source}} — or install it yourself and continue.",
    "installs": "OpenWorker installs its own verified copy — or install it yourself and continue.",
    "no_build": "OpenWorker has no verified build for this machine — install it yourself if you want this check, or continue and the coworker will note the gap.",
    "skip": "Continue without it",
    "install": "Install"
  },
  "skills": {
    "subtitle": "Reusable instructions the worker can follow in every conversation. Off here means off everywhere.",
    "confirmation": "— the worker can now use it in every conversation.",
    "off_note": "turned off everywhere. If a conversation already used it, start a new one for a completely clean slate.",
    "delete_note": "removed. If a conversation already used it, start a new one for a completely clean slate.",
    "error_generic": "Something went wrong.",
    "fallback_name": "Skill",
    "add_skill": "Add skill",
    "door_write": "Write it myself",
    "door_write_sub": "A name, a description, and the instructions",
    "door_import": "Import a file",
    "door_import_sub": "A .zip or SKILL.md someone shared — you review before it installs",
    "door_ai": "Create with OpenWorker",
    "door_ai_sub": "Starts a conversation — the worker builds it and asks before adding it to your skills",
    "upload_aria": "Upload a skill archive",
    "review_title": "Review before installing",
    "review_sub": "Read the instructions — installing a skill means the worker will follow them.",
    "no_description": "no description",
    "bundled_files": "Bundled files: {{files}}",
    "install_skill": "Install skill",
    "editor_new": "New skill",
    "editor_edit": "Edit {{name}}",
    "name_label": "Name",
    "name_placeholder": "weekly-report",
    "desc_label": "Description",
    "desc_placeholder": "One line the worker uses to decide when this applies",
    "instructions_label": "Instructions",
    "instructions_placeholder": "1. Gather last week's updates\n2. Write the report, under 300 words",
    "save_skill": "Save skill",
    "empty": "No skills yet — <b>Add skill</b> teaches your worker its first one, like “prepare my Monday status report”.",
    "show_folder": "Show folder",
    "file_count_one": "{{count}} file",
    "file_count_other": "{{count}} files",
    "edit_tip": "Edit",
    "delete_aria": "Delete {{name}}",
    "confirm_delete": "Confirm delete",
    "enabled_aria": "{{name}} enabled",
    "on": "On"
  },
  "memory": {
    "section_sub": "Your coworkers can remember useful things about you between conversations. Everything they know is listed here.",
    "loading": "Loading…",
    "toggle_title": "Remember new things about you",
    "toggle_label": "Remember new things about me",
    "toggle_help": "Lasting preferences you mention in chat get saved and used in future conversations — you'll see a small note each time, with one-tap Undo. Turning this off stops new saves; anything already below is still used until you delete it.",
    "on_msg": "Details you share from future conversations will be remembered, so I can be more helpful over time.",
    "off_msg": "I'll stop remembering new things about you. What I already know is kept and still used — delete anything below you'd rather I forget.",
    "wipe_confirm": "Delete everything that's been remembered about you?\n\nThis can't be undone. Conversations you already have open still know what they knew — new conversations start with a clean slate.",
    "wiped_msg": "Everything I remembered has been deleted. New conversations start fresh; ones you already have open still know what they knew when they started.",
    "learned_title": "What I've learned about you",
    "forget_all": "Forget everything…",
    "learned_help": "Saved automatically from your conversations. Fix anything that's wrong — or delete it. Edits and deletions apply to new conversations; ones you already have open keep what they knew when they started.",
    "empty": "Nothing yet. When you mention a lasting preference in chat — or say \"remember that…\" — it will show up here.",
    "rules_title": "Your instructions",
    "rules_help": "Your coworkers follow these in every conversation.",
    "rules_placeholder": "I use a screen reader — no tables, describe any image\nUse DD-MM-YYYY for dates",
    "save": "Save",
    "rules_saved": "Saved — applies to new conversations. Ones you already have open keep the instructions they started with.",
    "fix_tip": "Fix this",
    "delete_tip": "Delete this memory"
  },
  "setup": {
    "import_coworker": "Import coworker…",
    "manage_coworkers": "Manage coworkers…",
    "choose_folder": "Choose folder",
    "choose_another_folder": "Choose another folder…",
    "choose_a_folder": "Choose a folder…"
  },
  "mcp": {
    "preset_granola_blurb": "Meeting notes & transcripts — sign in with your Granola account.",
    "status_off": "Off",
    "status_signing_in": "Signing in…",
    "status_testing": "Testing…",
    "status_needs_sign_in": "Needs sign-in",
    "status_error": "Error",
    "status_not_tested": "Not tested",
    "tool_count_one": "{{count}} tool",
    "tool_count_other": "{{count}} tools",
    "tested_rel": "tested {{rel}}",
    "group_custom": "Custom · MCP",
    "add_title": "Add custom MCP server",
    "tab_remote_url": "Remote URL",
    "tab_json": "JSON",
    "add_url_blurb": "Connect a hosted MCP server. If it needs sign-in, the row will offer it after the first test.",
    "add_name_ph": "Name (shown in the connectors list)",
    "add_json_blurb": "Paste server JSON (name → config):",
    "add_and_test": "Add & test",
    "err_name": "Give the server a name.",
    "err_url": "Enter the server's full URL (https://…).",
    "err_invalid_json": "Invalid JSON: {{message}}",
    "err_json_shape": "Paste a `{ \"<name>\": { … } }` object (or a full mcpServers block).",
    "enable_title": "Enable this server",
    "test_connection": "Test connection",
    "test_desc": "Starts the server and lists its tools — without opening a session.",
    "err_failed_connect": "failed to connect",
    "hide": "hide",
    "show": "show",
    "configuration": "Configuration",
    "remove_server": "Remove server"
  },
  "bindmenu": {
    "filter_placeholder": "Filter…",
    "none": "none",
    "this_repo": "this repo",
    "this_folder": "this folder",
    "bound": "bound",
    "no_matches": "no matches",
    "name_placeholder_memory": "Name this memory…",
    "name_placeholder_board": "Name this board…",
    "name_current_memory": "Name current memory…",
    "name_current_board": "Name current board…",
    "view_edit": "View & edit…",
    "bind_error": "could not bind",
    "name_error": "could not name"
  }
}
