{
  "notch": {
    "waitingForSessions": "Waiting for sessions...",
    "slogan": "Make agents easier to use",
    "noSessionInFocus": "No session in focused terminal.",
    "noSessionInFocusHint": "Focus a terminal tab with an active AgentBro session.",
    "noSessions": "No active agent sessions.",
    "noSessionsHint": "Supports 10+ agents. Start one to monitor automatically.",
    "working": "Working...",
    "thinking": "Thinking...",
    "needsApproval": "Needs approval",
    "waitingInput": "Waiting for input...",
    "compacting": "Compacting context...",
    "taskComplete": "Task complete",
    "replied": "New reply",
    "error": "Error occurred",
    "interrupted": "Interrupted",
    "ready": "Ready",
    "idle": "Expired",
    "deny": "Deny",
    "allowOnce": "Allow Once",
    "allowAlways": "Allow Always",
    "typeMessage": "Type a message... (Enter)",
    "typeReply": "Type a reply... (Enter)",
    "composerHintCodexApp": "Codex.app sessions can't receive messages from AgentBro yet.",
    "composerHintQoderApp": "Qoder.app sessions can't receive messages from AgentBro yet.",
    "composerHintRemote": "Remote sessions can't receive follow-ups from AgentBro — open the remote terminal to continue.",
    "composerHintNoTerminal": "This session has no terminal to type into.",
    "openHostApp": "Open app",
    "send": "Send",
    "dismiss": "Dismiss",
    "back": "Back to sessions",
    "jumpToTerminal": "Jump to terminal",
    "openTerminal": "Open Terminal",
    "sessionError": "Session Error",
    "unexpectedError": "An unexpected error occurred.",
    "checkTerminal": "Check the terminal for details, or restart the session.",
    "waitingMessages": "Waiting for messages...",
    "historyLimitNotice": "Performance optimization: only recent messages are loaded.",
    "scrollToBottom": "Scroll to bottom",
    "subagents": "subagent",
    "subagentsPlural": "subagents",
    "expandSubagents": "Expand",
    "collapseSubagents": "Collapse",
    "cached": "cached",
    "complete": "Complete",
    "compactingShort": "Compacting...",
    "waitingForInput": "Waiting for input",
    "settings": "Settings",
    "quit": "Quit AgentBro",
    "updateAvailable": "Update available v{{version}} — click to update",
    "updateBadgeLabel": "Update",
    "updateBannerTitle": "New version v{{version}} available",
    "updateNow": "Update Now",
    "updateDismiss": "Dismiss",
    "needsApprovalTool": "Needs approval: {{tool}}",
    "autoApprove": "Auto-approve",
    "you": "You",
    "tasks": "Tasks ({{completed}} done, {{inProgress}} in progress, {{pending}} pending)",
    "plan": "Plan",
    "completedCollapsed": "completed",
    "collapseCompleted": "Collapse",
    "planFeedback": "Tell Claude what to change...",
    "manualReview": "Manual Review",
    "acceptEdits": "Auto-accept Edits",
    "autoApprovePerms": "Auto-approve Perms",
    "showAllSessions": "Show all {{count}} sessions",
    "sendFeedback": "Send Feedback",
    "confirmSelection": "Confirm",
    "customAnswer": "Other...",
    "hooksRestored": "Hooks restored",
    "hooksRateLimited": "Hook recovery rate-limited",
    "tool": {
      "editing": "Editing",
      "writing": "Writing",
      "reading": "Reading",
      "searching": "Searching",
      "running": "Running",
      "tasking": "Tasking",
      "fetching": "Fetching",
      "analyzing": "Analyzing",
      "runningSkill": "Running Skill",
      "planning": "Planning",
      "waitingForAnswer": "Waiting for answer",
      "updatingTasks": "Updating tasks",
      "compacting": "Compacting",
      "compactingContext": "Compacting context",
      "coordinating": "Coordinating",
      "messaging": "Messaging",
      "scheduling": "Scheduling",
      "branching": "Branching",
      "savingState": "Saving state",
      "readingState": "Reading state",
      "clearingState": "Clearing state"
    }
  },
  "settings": {
    "title": "Settings",
    "close": "Close",
    "petVitals": "Pet Vitals",
    "petVitalsDesc": "Show pet status changes based on context pressure and token usage",
    "petPickerTitle": "Choose pet",
    "petPickerDesc": "Auto-follow the active agent, or lock a specific pet.",
    "petAuto": "Auto-follow agent",
    "petInstallHint": "No Codex.app pets detected. Install Codex or add custom pets to ~/.codex/pets.",
    "defaultPetForAgent": "Default Pet",
    "defaultPetTooltip": "Pet shown in AUTO mode for this agent",
    "defaultPetClear": "Clear (use registry default)",
    "defaultPetNone": "Not set",
    "general": "General",
    "market": {
      "title": "Pet Market",
      "desc": "Browse community pets and install them with one click — powered by the abpets CLI.",
      "searchPlaceholder": "Search by name, author, or tag…",
      "sortByPopular": "Most downloaded",
      "sortByLatest": "Recently updated",
      "refresh": "Refresh",
      "refreshing": "Refreshing…",
      "refreshed": "Refreshed",
      "refreshFailed": "Refresh failed",
      "uploadPet": "Create my pet",
      "install": "Install",
      "uninstall": "Uninstall",
      "installed": "Installed",
      "installing": "Installing…",
      "uninstalling": "Uninstalling…",
      "useThis": "Use",
      "switchPrompt": "This will switch the surface from Island mode to Pet mode. Continue?",
      "byAuthor": "by {{name}}",
      "downloads": "{{count}} downloads",
      "viewOnSite": "View on agentbro.net",
      "loading": "Loading market…",
      "loadFailed": "Could not load market manifest: {{message}}",
      "retry": "Retry",
      "empty": "No pets match your search.",
      "nodeRequired": "Node.js is required",
      "nodeRequiredDesc": "abpets runs on Node.js (v18+). Install Node, restart AgentBro, then come back.",
      "installNodeBtn": "Open nodejs.org",
      "abpetsRecommended": "Install abpets globally for faster runs",
      "abpetsRecommendedDesc": "Without a global install, each action downloads abpets again via npx. One-click install runs `npm install -g abpets`.",
      "installAbpetsBtn": "Install abpets globally",
      "logsTitle": "Command output",
      "jobInstallTitle": "Installing {{name}}",
      "jobUninstallTitle": "Uninstalling {{name}}",
      "jobInstallAbpetsTitle": "Installing abpets",
      "jobRunning": "Running",
      "jobSuccess": "Done",
      "jobFailed": "Failed",
      "closeBtn": "Close"
    },
    "display": "Display",
    "sound": "Sound",
    "shortcuts": "Shortcuts",
    "agentMonitor": "Agent Monitor",
    "agents": "Agents & Skills",
    "switch": "Agent Switch",
    "skills": "Skill Management",
    "sshRemote": "SSH Remote",
    "labs": "Labs",
    "about": "About",
    "agentBro": "AgentBro",
    "welcomeEyebrow": "Quick setup",
    "welcomeTitle": "Set up your island",
    "welcomeSubtitle": "Choose how AgentBro should appear while your agents are working.",
    "welcomeSurface": "Surface mode",
    "welcomeSurfaceDesc": "Use the compact island, or switch to the pet status surface.",
    "welcomeContinue": "Start AgentBro",
    "welcomeSaving": "Saving...",
    "welcomeError": "Could not save setup: {{message}}",
    "island": {
      "title": "Island",
      "desc": "Configure the dynamic island appearance, behavior, sounds, and integrations.",
      "tabs": {
        "overview": "Overview",
        "display": "Display",
        "market": "Pet Market",
        "behavior": "Behavior",
        "integration": "Integration",
        "remote": "SSH Remote",
        "notify": "Notifications",
        "keys": "Shortcuts",
        "sound": "Sound",
        "shortcuts": "Shortcuts",
        "advanced": "Advanced"
      },
      "section": {
        "surface": "Surface",
        "displayPlacement": "Display Placement",
        "layout": "Layout",
        "dimensions": "Size",
        "expand": "Expand",
        "hide": "Hide and Collapse",
        "dwell": "Dwell Time",
        "sessionHandling": "Session Handling",
        "professional": "Professional Information",
        "visualSignals": "Visual Signals",
        "debug": "Debug and Paths"
      },
      "overview": {
        "core": "Core",
        "timing": "Timing",
        "previewTitle": "Codex is running tests",
        "previewMeta": "agentBro · bun test:run · 2m",
        "quietAssistant": "Quiet Assistant",
        "quietAssistantDesc": "Hidden while agents run; appears for approvals, questions, failures, and completion notifications.",
        "persistentMonitor": "Persistent Monitor",
        "persistentMonitorDesc": "Keeps the island visible while agents run, then returns to a mini island when idle.",
        "customPreset": "Custom visibility",
        "customPresetDesc": "You changed hide or collapse timing, so the current settings differ from both presets.",
        "coreSwitches": "Core Switches",
        "coreSwitchesDesc": "Presets set visibility and default timing; the controls below fine-tune them."
      }
    },
    "generalDesc": "Basic application behavior and startup preferences.",
    "system": "System",
    "behavior": "Behavior",
    "launchAtLogin": "Launch at Login",
    "launchAtLoginDesc": "Start AgentBro when you log in",
    "displayMonitor": "Display Monitor",
    "displayMonitorDesc": "Which display to show the island on",
    "mainDisplay": "Main Display",
    "secondaryDisplay": "Secondary Display",
    "autoFollowFocus": "Follow Cursor Display",
    "autoHide": "Auto-Hide",
    "autoHideDesc": "Hide the island after a period of inactivity",
    "smartSuppression": "Smart Suppression",
    "smartSuppressionDesc": "Suppress non-critical notifications during focus sessions",
    "surfaceIsland": "Island",
    "surfacePet": "Pet",
    "islandSurfaceMode": "Surface Mode",
    "islandSurfaceModeDesc": "Switch between the compact island and the pet status surface.",
    "islandEnabled": "Enable Island",
    "islandEnabledDesc": "Show AgentBro status, approvals, questions, and completions in the floating island.",
    "islandExternalEnabled": "External CLI tracking",
    "islandExternalEnabledDesc": "Track supported AI CLI sessions through installed hooks.",
    "islandMonitorSubagents": "Monitor subagents",
    "islandMonitorSubagentsDesc": "Surface subagent activity and completion history in the island.",
    "autoCollapse": "Auto-Collapse",
    "autoCollapseDesc": "Collapse the panel when clicking outside",
    "completionDuration": "Completion Popup Duration",
    "completionDurationDesc": "How long to show the task-complete popup",
    "hoverDelay": "Hover Delay",
    "hoverDelayDesc": "Delay before expanding the panel on hover",
    "cliHooks": "CLI Hooks",
    "duration3s": "3 seconds",
    "duration5s": "5 seconds",
    "duration10s": "10 seconds",
    "durationPersistent": "Persistent",
    "displayDesc": "Customize how the island looks and how much information it shows.",
    "colorTheme": "Color Appearance",
    "colorThemeDesc": "Visual style for the island panel",
    "notchStyle": "Notch Style",
    "compact": "Compact",
    "compactDesc": "Minimal, icon-only view",
    "detailed": "Detailed",
    "detailedDesc": "Shows project name and status",
    "panelSize": "Size",
    "hoverSpeed": "Hover Speed",
    "hoverSpeedDesc": "Animation speed for session cards",
    "hoverSpeedInstant": "Instant (50ms)",
    "hoverSpeedNormal": "Normal (200ms)",
    "hoverSpeedSlow": "Slow (400ms)",
    "islandAnimationScale": "Animation Scale",
    "islandAnimationScaleDesc": "Adjust the speed of island open, close, and content motion.",
    "contentFontSize": "Content Font Size",
    "completionCardHeight": "Notification Card Max Height",
    "maxPanelHeight": "Max Panel Height",
    "detailPanelMaxHeight": "Detail View Height",
    "tokenCostDisplay": "Token & Cost Display",
    "tokenDisplayMode": "Display Mode",
    "tokenDisplayModeDesc": "What to show in the token bar",
    "tokensBoth": "Tokens + Cost",
    "tokensOnly": "Tokens Only",
    "costOnly": "Cost Only",
    "hidden": "Hidden",
    "costModel": "Cost Model",
    "costModelDesc": "Model pricing used for cost estimation",
    "agentActivity": "Agent Activity Details",
    "activeTheme": "Character Theme",
    "activeThemeDesc": "Choose the pixel character theme for the island",
    "agentActivityDesc": "Show subagent activity and history entry points in the detail view",
    "soundDesc": "Configure notification sounds and audio feedback.",
    "enableSounds": "Enable Sounds",
    "enableSoundsDesc": "Play sounds for agent events",
    "volume": "Volume",
    "soundPack": "Sound Pack",
    "soundPackDesc": "Choose notification sound style",
    "eightBitRetro": "8-bit Retro",
    "subtle": "Subtle",
    "custom": "Custom...",
    "sessionEvents": "Session Events",
    "interactionEvents": "Interaction Events",
    "systemEvents": "System Events",
    "soundEvents": {
      "session-start": "Session Started",
      "session-end": "Session Ended",
      "session-error": "Session Error",
      "permission-request": "Permission Request",
      "plan-approval": "Plan Approval",
      "question-asked": "Question Asked",
      "task-complete": "Task Complete",
      "context-compact": "Context Compacting",
      "token-limit": "Token Limit Warning",
      "boot": "Boot Sound"
    },
    "customSounds": "Custom Sounds",
    "audioFiles": "Audio Files",
    "importSoundPack": "Import sound pack",
    "importing": "Importing...",
    "soundPackImported": "Imported {{count}} sounds from {{name}}",
    "soundPackImportFailed": "Sound pack import failed: {{message}}",
    "probeFilter": "Probe Session Filter",
    "probeFilterDesc": "Silence very short background probe sessions, so connection checks and model probes do not play notification sounds.",
    "previewSound": "Preview sound",
    "shortcutsDesc": "Customize keyboard shortcuts for common actions.",
    "globalShortcuts": "Global Shortcuts",
    "shortcutApprove": "Approve current permission",
    "shortcutApproveDesc": "Works even when the island is not focused",
    "shortcutDeny": "Deny current permission",
    "shortcutDenyDesc": "Sends a deny response to the oldest pending permission",
    "shortcutSkip": "Skip current question",
    "shortcutSkipDesc": "Selects the first answer for the oldest pending question",
    "inWindowShortcuts": "In-Window Shortcuts",
    "pressKeys": "Press keys...",
    "cancel": "Cancel",
    "edit": "Edit",
    "shortcutClear": "Clear",
    "shortcutOff": "Off",
    "showAdvancedShortcuts": "Show advanced shortcuts",
    "hideAdvancedShortcuts": "Hide advanced shortcuts",
    "enabledAdvancedShortcuts": "{{count}} enabled",
    "alreadyUsedBy": "Already used by \"{{label}}\"",
    "shortcutApplyFailed": "Shortcut could not be applied: {{message}}",
    "shortcutActions": {
      "toggle-panel": "Toggle Panel",
      "expand-panel": "Expand Panel",
      "collapse-panel": "Collapse Panel",
      "next-session": "Next Session",
      "prev-session": "Previous Session",
      "approve-action": "Approve Action",
      "reject-action": "Reject Action",
      "open-settings": "Open Settings"
    },
    "sshRemoteDesc": "Connect AgentBro to remote machines via SSH tunnels.",
    "sshDescription": "AgentBro can forward agent events from remote SSH sessions back to your local display. This requires the AgentBro CLI helper to be installed on the remote host.",
    "sshPrerequisites": "Prerequisites",
    "sshPrerequisitesText": "Ensure agentbro-remote is installed on each remote host and that TCP port forwarding is enabled in your SSH config.",
    "tcpPort": "TCP Port",
    "listeningPort": "Listening Port",
    "listeningPortDesc": "Local TCP port for receiving remote agent events",
    "remoteHosts": "Remote Hosts",
    "noRemoteHosts": "No remote hosts configured.",
    "remoteProbe": "Diagnose",
    "remoteProbeRunning": "Diagnosing...",
    "remoteProbeFailed": "Diagnosis failed",
    "remoteProbeSummary": "Remote diagnosis",
    "remoteProbeNoData": "No diagnostic data yet.",
    "manageHooks": "Manage hooks",
    "connectFirst": "Connect this remote host first",
    "remoteHookAgents": "Choose agent hooks to install remotely",
    "name": "Name",
    "add": "Add",
    "connect": "Connect",
    "disconnect": "Disconnect",
    "disconnected": "Disconnected",
    "connecting": "Connecting",
    "failed": "Failed",
    "installHooks": "Install hooks",
    "uninstallHooks": "Uninstall hooks",
    "removeHost": "Remove host",
    "labsDesc": "Try out experimental features. These may be unstable or change without notice.",
    "upgradeRequired": "Upgrade Required",
    "aboutTitle": "About",
    "checkForUpdates": "Check for Updates",
    "autoCheckUpdate": "Auto check for updates",
    "autoCheckUpdateDesc": "When off, new versions are only fetched when you click \"Check for Updates\"",
    "autoInstallUpdate": "Auto install updates",
    "autoInstallUpdateDesc": "When on, AgentBro checks and downloads updates only after active sessions become idle, then restarts when safe",
    "installNow": "Install Now",
    "developer": "Developer",
    "developerName": "shizhen",
    "reportBug": "Report a Bug",
    "sendFeedback": "Send Feedback",
    "feedbackEmail": "shi_rc@foxmail.com",
    "latestVersion": "You're on the latest version",
    "updateChecking": "Checking for updates...",
    "updateAvailable": "Update {{version}} available",
    "updateAvailableHomebrew": "Update {{version}} is available. Since AgentBro was installed with Homebrew, run: {{command}}",
    "updateDownloading": "Downloading {{version}}...",
    "updateReady": "Update {{version}} is ready. Restart to apply it.",
    "updateReadyAuto": "Update {{version}} is ready. AgentBro will restart automatically after a short idle window.",
    "updateReadyWaitingIdle": "Update {{version}} is ready. AgentBro will restart after {{count}} active session(s) become idle.",
    "updateCheckFailed": "Unable to reach the update service. Please try again later or download from Releases.",
    "checkNow": "Check Now",
    "exportDiagnostics": "Export Diagnostics",
    "exportDiagnosticsDesc": "Generate a privacy-safe diagnostics ZIP (paths and secrets redacted) for troubleshooting",
    "hookDoctor": "Hook Doctor",
    "runDiagnostics": "Run diagnostics",
    "runDiagnosticsDesc": "Check the bridge binary, Hook service, installed Hooks, and platform-specific terminal integration.",
    "hookDoctorInlineDesc": "Checks the AgentBro bridge, Hook service, installed Hooks, and platform-specific terminal integration.",
    "hookDoctorNextStep": "Next step: ",
    "hookDoctorSuggestionBridge": "Restart AgentBro. If it still fails, reinstall the app.",
    "hookDoctorSuggestionServer": "Keep AgentBro running and check again. New CLI sessions connect to the current Hook service.",
    "hookDoctorSuggestionInstall": "Click Install All Hooks, then restart the corresponding CLI sessions.",
    "hookDoctorSuggestionAutomation": "Allow AgentBro to control Terminal and System Events in macOS System Settings.",
    "hookDoctorSuggestionCodexCli": "Install Codex CLI or expose the real codex executable. Codex Desktop / WindowsApps launchers cannot be used for hooks.",
    "hookDoctorSuggestionCodexAppServer": "Update Codex CLI to a build that supports `codex app-server`, then run diagnostics again.",
    "hookDoctorSuggestionBinary": "Install this only if you use the corresponding terminal multiplexer or terminal; otherwise it can be ignored.",
    "hookDoctorSuggestionGeneric": "Fix the issue from the detail above, then run diagnostics again.",
    "exportSaved": "Saved!",
    "export": "Export",
    "links": "Links",
    "website": "Website",
    "github": "GitHub",
    "releases": "Releases",
    "community": "Join Community",
    "communityWechat": "WeChat",
    "communityWechatAlt": "WeChat QR code",
    "communityGroup": "WeChat Group",
    "communityGroupAlt": "WeChat Group QR code",
    "communityExpand": "Expand",
    "communityCollapse": "Collapse",
    "communityClose": "Close",
    "credits": "Credits",
    "builtWith": "Built with Tauri, React, TypeScript, Vite, Framer Motion, Zustand, and i18next",
    "designSystem": "Interface design and engineering by AgentBro contributors",
    "copyright": "© 2026 AgentBro Contributors",
    "quitApp": "Quit AgentBro",
    "language": "Language",
    "languageDesc": "Interface language",
    "english": "English",
    "chinese": "中文",
    "idleTimeout": "Idle to Expired",
    "idleTimeoutDesc": "How long a ready but inactive session waits before being marked expired. Expired sessions can still remain visible. (0 = never expire automatically)",
    "idleTimeoutDisabled": "Disabled",
    "idleTimeoutMinutes": "{{minutes}} min",
    "idleInteractionRouting": "Idle Interaction Protection",
    "idleInteractionRoutingDesc": "When you have been away, leave approvals, questions, and plan confirmations in the originating terminal instead of expanding the island.",
    "idleInteractionRoutingMinutes": "Away threshold",
    "idleInteractionRoutingMinutesDesc": "How long system idle time must last before blocking prompts stay in the terminal.",
    "notificationMode": "Notification Mode",
    "notificationModeDesc": "When to show notifications for agent events",
    "notificationTurnEnd": "Turn End Only",
    "notificationTurnEndDesc": "Only notify when the agent finishes a turn",
    "notificationEvery": "Every Event",
    "notificationEveryDesc": "Notify on every tool call and event",
    "engineInstances": "Engine Instances",
    "addEngineBranch": "Add Claude Code Instance...",
    "engineLabel": "Label",
    "engineConfigRoot": "Config Root",
    "enginePathInvalid": "Invalid path",
    "enginePathValid": "Valid",
    "removeEngine": "Remove",
    "interface": "Interface",
    "accountQuota": "Account Quota",
    "noAccountQuotaProviders": "No official account quota readers are available.",
    "openCredential": "Open Credential",
    "usageQueryIntegration": "Usage Query",
    "usageQueryEnabled": "Enable Usage Query",
    "usageQueryEnabledDesc": "Read official account or CLI token quota in the background for the island header. Third-party API and proxy usage will be configured in a separate module.",
    "showUsageQuota": "Show Usage Quota",
    "showUsageQuotaDesc": "Show 5h/7d token usage in the island header instead of ALL/ACT/WAIT",
    "refresh": "Refresh",
    "usageRefreshTimeout": "Usage query timed out. Please refresh again later.",
    "connected": "Connected",
    "disabled": "Disabled",
    "waitingData": "Waiting for data",
    "needsAuth": "Needs authorization",
    "usageReaderAvailable": "Available to wire",
    "usageReaderPending": "Pending integration",
    "notSupported": "Unsupported",
    "authorize": "Authorize",
    "authorizeUsage": "Authorize usage",
    "authorizing": "Authorizing...",
    "usageAuthStarted": "Opened a terminal for authorization. Refresh after login completes.",
    "showCacheTTL": "Show Cache TTL",
    "showCacheTTLDesc": "Display prompt cache remaining time for Claude Code sessions",
    "hooks": "Hooks",
    "hooksDesc": "Manage AI tool hook installations for AgentBro monitoring.",
    "detectTools": "Detect Tools",
    "detectNow": "Check Now",
    "detecting": "Checking...",
    "reinstallAll": "Reinstall All",
    "installAllHooks": "Install All",
    "uninstallAllHooks": "Uninstall All",
    "cliNotInstalled": "CLI not installed. Please install the corresponding command-line tool first.",
    "detectedTools": "Detected Tools",
    "noToolsDetected": "No tools detected. Click \"Detect Tools\" to scan.",
    "detectingTools": "Detecting installed tools...",
    "hookInstalled": "Installed",
    "hookNotInstalled": "Not Installed",
    "hookNeedsReinstall": "Needs Reinstall",
    "hookSettingsCorrupted": "Config Error",
    "hookError": "Error",
    "install": "Install",
    "reinstall": "Reinstall",
    "uninstall": "Uninstall",
    "openConfigDir": "Open config folder",
    "uninstalling": "Uninstalling...",
    "hookStatusRefreshed": "Hook status refreshed.",
    "hookInstallDone": "Hook installed. Restart the corresponding CLI session to load it.",
    "hookInstallFailed": "{{tool}} install failed: {{reason}}",
    "hookReinstallDone": "Hook reinstalled. Restart the corresponding CLI session to load it.",
    "hookReinstallFailed": "{{tool}} reinstall failed: {{reason}}",
    "hookDetectDone": "Check complete.",
    "codexAppServerProbe": "Codex realtime sync & readiness",
    "codexAppServerProbeDesc": "Optional: keep a persistent Codex app-server connection so AgentBro can stream thread updates and respond to approvals without waiting for hooks.",
    "codexAppServerProbeRun": "Check readiness",
    "codexAppServerProbeRunning": "Checking...",
    "codexAppServerNoProbe": "Run readiness check to see whether this machine can host Codex app-server sync.",
    "codexAppServerSyncRun": "Sync threads",
    "codexAppServerSyncRunning": "Syncing...",
    "codexAppServerSyncDone": "Synced {{synced}} of {{total}} Codex threads.",
    "codexAppServerSyncResult": "Thread sync result",
    "codexAppServerSyncSummary": "Synced {{synced}}/{{total}} threads; read {{read}} detailed snapshots.",
    "codexAppServerBackgroundSync": "Background thread sync",
    "codexAppServerBackgroundSyncDesc": "Periodically imports Codex app-server thread status into AgentBro sessions without waiting for hooks.",
    "codexAppServerSyncInterval": "Sync interval",
    "codexAppServerSyncIntervalDesc": "Base active interval. AgentBro slows to 60s for idle sessions and 5 min when quiet.",
    "codexAppServerChecks": {
      "cli": "Codex CLI",
      "app-server-command": "app-server command",
      "server-port": "Local app-server port",
      "codex-app": "Codex Desktop",
      "auth": "Codex auth",
      "transcripts": "Local transcripts",
      "live-sync": "AgentBro live sync"
    },
    "hookInstallAllDone": "All hooks installed. Restart the corresponding CLI sessions to load them.",
    "hookInstallAllDoneWithErrors": "Some hooks failed to install: {{errors}}",
    "hookUninstallDone": "Hook uninstalled.",
    "hookUninstallAllDone": "All AgentBro hooks have been removed. You can now reinstall them.",
    "hookUninstallAllDoneWithErrors": "Some hooks failed to uninstall: {{errors}}",
    "uninstallAllConfirmTitle": "Uninstall All Hooks",
    "uninstallAllConfirmMessage": "This will remove the AgentBro hook configuration from every CLI tool (including custom installs). Use it to fix a broken setup before reinstalling. Continue?",
    "hookReinstallAllDone": "Installed hooks reinstalled. Restart active CLI sessions to load them.",
    "desktopOnlyHooks": "Hook management is available in the desktop app.",
    "retry": "Retry",
    "customTag": "Custom",
    "customCLI": "Custom CLI Tools",
    "addCustomTool": "Add Custom Tool...",
    "toolId": "Tool ID",
    "configPath": "Config Path",
    "save": "Save",
    "webhooks": "Webhooks",
    "webhooksDesc": "Forward agent events to external chat services.",
    "webhooksInfo": "Configure webhook endpoints to receive AgentBro notifications in DingTalk, Feishu, or any compatible service.",
    "dingtalk": "DingTalk",
    "dingtalkDesc": "Send notifications to a DingTalk group robot",
    "feishu": "Feishu / Lark",
    "feishuDesc": "Send notifications to a Feishu group robot",
    "webhookEnabled": "Enabled",
    "webhookUrl": "Webhook URL",
    "webhookSecret": "Secret",
    "webhookSecretPlaceholder": "Optional signing secret",
    "webhookEvents": "Events",
    "webhookEventsDesc": "Which events to forward",
    "webhookTest": "Test",
    "webhookTestSuccess": "✓ Success",
    "webhookTestError": "✗ Failed",
    "webhookEvent_session_start": "Session Start",
    "webhookEvent_task_complete": "Task Complete",
    "webhookEvent_error": "Error",
    "webhookEvent_waiting_approval": "Needs Approval",
    "webhookEvent_waiting_input": "Needs Input",
    "webhookEvent_plan_approval": "Plan Approval",
    "webhookDelayEnabled": "Delay notifications",
    "webhookDelayDesc": "For approvals, questions, and plan confirmations, notify only if the request is still unhandled on this Mac after the delay.",
    "webhookDelayMinutes": "Delay time",
    "webhookDelayMinutesDesc": "Minutes to wait before forwarding unresolved interactive requests.",
    "volumeDesc": "Sound volume level",
    "customHooksPath": "Custom Hooks Path",
    "customHooksPathDesc": "Override default settings.json path for hook installation",
    "showTips": "Show Tips",
    "showTipsDesc": "Show usage tips when all sessions are idle",
    "pixelCursor": "Pixel Cursor",
    "pixelCursorDesc": "Show animated border dots around the panel",
    "confettiOnComplete": "Confetti on Completion",
    "confettiOnCompleteDesc": "Show celebration animation when tasks complete",
    "followFocus": "Follow Focus",
    "followFocusDesc": "Filter sessions by focused terminal window",
    "globalShortcut": "Global Shortcut",
    "globalShortcutDesc": "Keyboard shortcut to toggle island visibility",
    "islandInteraction": "Island Interaction",
    "interactionMode": "Interaction Mode",
    "interactionModeDesc": "Quiet Assistant hides while agents run; Persistent Monitor stays visible while agents run and returns to a mini island when idle.",
    "interactionMinimal": "Minimal",
    "interactionPersistent": "Persistent",
    "noSessionsHideDelay": "No-Active Hide Delay",
    "noSessionsHideDelayDesc": "After Hide When No Sessions is enabled, how long the mini island stays before fully hiding.",
    "autoHideNoSessions": "Hide When No Sessions",
    "autoHideNoSessionsDesc": "In Persistent Monitor, hide the mini island after all running, waiting, or error sessions end.",
    "idleCompactDwell": "Compact Dwell After Activity",
    "idleCompactDwellDesc": "How long the compact island stays after all running, waiting, or error sessions end before returning to mini.",
    "taskCompleteDwell": "Auto-Collapse Countdown",
    "taskCompleteDwellDesc": "Seconds before the island auto-collapses completion and response notifications.",
    "escSilenceDuration": "ESC Silence",
    "escSilenceDurationDesc": "Seconds to suppress ordinary notifications and hover wake after ESC.",
    "hoverExpandDelay": "Compact Hover Delay",
    "hoverExpandDelayDesc": "Delay before expanding the compact pill on hover.",
    "microHoverExpandDelay": "Micro Pill Hover Delay",
    "microHoverExpandDelayDesc": "Delay before expanding the micro pill on hover.",
    "collapseDelay": "Collapse Delay",
    "collapseDelayDesc": "Delay before collapsing after cursor leaves.",
    "clickToDetail": "Click to Detail",
    "clickToDetailDesc": "When enabled, clicking a session card opens chat detail; when disabled, it jumps to the terminal.",
    "jumpBeforeSend": "Jump Before Send",
    "jumpBeforeSendDesc": "When enabled, Codex App sessions jump to the target window before sending. Disable to operate the Codex App background window without calling Codex CLI.",
    "tipsEnabled": "Show Tips",
    "tipsEnabledDesc": "Show rotating tips in the center area when there are no sessions or all sessions are idle.",
    "carouselInterval": "Carousel Interval",
    "carouselIntervalDesc": "Info carousel rotation interval in collapsed bar",
    "processingTimeout": "Processing Guard",
    "processingTimeoutDesc": "How long a session may stay stuck in processing without new tool activity before AgentBro exits processing state.",
    "sessionTimeout": "Hide Expired Sessions",
    "sessionTimeoutDesc": "How long expired or completed sessions remain in the list before being hidden.",
    "excludedCwd": "Excluded Directories",
    "excludedCwdDesc": "Ignore events from working directories containing these substrings (comma-separated)",
    "autoApproveTools": "Auto-approve Tools",
    "autoApproveToolsDesc": "Comma-separated tool names that can be approved without prompting.",
    "hapticFeedback": "Haptic Feedback",
    "hapticFeedbackDesc": "Trackpad haptic feedback when hovering the panel",
    "hapticIntensity": "Haptic Intensity",
    "hapticIntensityDesc": "Haptic feedback strength (1-3)",
    "notchLayout": "Layout",
    "collapsedWidthScale": "Compact Pill Width Scale",
    "collapsedWidthScaleDesc": "Current compact pill: {{value}}px",
    "notchHeightMode": "Notch Height Mode",
    "notchHeightModeDesc": "How to calculate notch height",
    "heightMatchNotch": "Match Notch",
    "heightMatchMenuBar": "Match Menu Bar",
    "heightCustom": "Custom",
    "customNotchHeight": "Custom Notch Height",
    "allowHorizontalDrag": "Allow Moving Island",
    "allowHorizontalDragDesc": "When enabled, drag the collapsed island horizontally",
    "resetIslandPosition": "Reset Island Position",
    "resetCenter": "Reset to Center",
    "islandResetDefaults": "Reset Island to Factory Defaults",
    "islandResetDefaultsDesc": "Restore island display, behavior, sounds, shortcuts, and notification settings.",
    "reset": "Reset",
    "maxVisibleSessions": "Max Visible Sessions",
    "maxVisibleSessionsDesc": "Sessions beyond this count remain available by scrolling",
    "maxVisibleSessionsUnlimited": "Unlimited",
    "showToolStatus": "Show Tool Status When Collapsed",
    "showToolStatusDesc": "Prioritize the active read, edit, or command in the collapsed island",
    "aiMessageLines": "AI Message Lines",
    "aiMessageLinesDesc": "Number of lines to show in AI message previews",
    "logoMeaning": "Logo Meaning",
    "logoMeaningTitle": "A handshake between people and agents",
    "logoMeaningDesc": "The center handshake represents collaboration between humans and AI agents: not replacement, not remote control, but a bro-like companion that helps, nudges, and catches moments that need attention. The outer A/B shape comes from AgentBro and resembles two connected agent nodes."
  },
  "tray": {
    "showPanel": "Show Panel",
    "settings": "Settings",
    "quit": "Quit"
  },
  "trial": {
    "expired": "Trial expired — Upgrade to unlock all features",
    "daysRemaining": "Trial: {{days}} day(s) remaining",
    "dismiss": "Dismiss"
  },
  "skills": {
    "title": "Skill Management",
    "description": "Manage AI Agent skills, MCP servers, and plugins with cross-device sync.",
    "tab_skills": "Skills",
    "tab_packs": "Packs",
    "tab_sync": "Sync",
    "searchPlaceholder": "Search skills...",
    "all": "All",
    "allAgents": "All Agents",
    "batchMode": "Batch",
    "cancelBatch": "Cancel",
    "install": "Install",
    "installedViaIsland": "Installed via AgentBro",
    "localDiscovered": "Locally Discovered",
    "noSkills": "No skills found",
    "noSkillsHint": "Click Install to add your first skill",
    "scanning": "Scanning...",
    "selectedCount": "{{count}} selected",
    "enableAll": "Enable All",
    "disableAll": "Disable All",
    "installedAgents": "Installed Agents",
    "basicInfo": "Basic Info",
    "type": "Type",
    "installMode": "Install Mode",
    "size": "Size",
    "modified": "Modified",
    "source": "Source",
    "fileViewer": "File Browser",
    "uninstall": "Uninstall",
    "confirmUninstall": "Confirm Uninstall",
    "confirmUninstallMsg": "Are you sure you want to uninstall \"{{name}}\"?",
    "cancel": "Cancel",
    "edit": "Edit",
    "delete": "Delete",
    "save": "Save",
    "create": "Create",
    "createPack": "New Pack",
    "editPack": "Edit Pack",
    "packName": "Name",
    "packNamePlaceholder": "Enter pack name",
    "packDesc": "Description",
    "packDescPlaceholder": "Enter description",
    "selectSkills": "Select Skills",
    "targetAgents": "Target Agents",
    "installSkill": "Install Skill",
    "localPath": "Local Path",
    "githubRepo": "GitHub Repository",
    "subPath": "Sub-path",
    "directCopy": "Direct Copy",
    "installing": "Installing...",
    "sync": "Sync",
    "githubSyncDesc": "Sync skill configs via a private GitHub repository.",
    "configSaved": "Config saved",
    "push": "Push",
    "pull": "Pull",
    "lastSync": "Last synced",
    "exportImport": "Export / Import",
    "exportImportDesc": "Export skills as a backup file, or import from one.",
    "export": "Export",
    "import": "Import",
    "exportDone": "Exported to {{path}}",
    "importDone": "Import complete",
    "importPathPrompt": "Enter backup file path",
    "agentSync": "Agent-to-Agent Sync",
    "agentSyncDesc": "One-click sync skills from one agent to another.",
    "agentSyncDone": "Sync complete",
    "preview": "Preview",
    "syncNow": "Sync",
    "scanStatus": "Scanner Status",
    "rescan": "Rescan",
    "installToAgent": "Install to Agent",
    "packMembership": "Pack Membership",
    "applyPack": "Apply",
    "binaryFile": "Binary file, cannot preview",
    "fileReadError": "Cannot read file content",
    "fileEmpty": "This file is empty",
    "fileLarge": "Large file ({{size}}) — source view only",
    "frontmatter": "Frontmatter",
    "frontmatterAdditional": "{{count}} additional fields"
  },
  "update": {
    "availableTitle": "Update Available",
    "readyTitle": "Update Ready",
    "later": "Later",
    "install": "Install & Restart",
    "downloadLatest": "Download Latest",
    "copyCommand": "Copy Command",
    "downloading": "Downloading...",
    "restart": "Restart Now",
    "restartHint": "The update has been downloaded. Restart the app to apply.",
    "restartSoonHint": "The update is ready. AgentBro will restart automatically after a short idle window.",
    "restartWhenIdleHint": "The update is ready. AgentBro will restart automatically after active sessions become idle.",
    "homebrewHint": "AgentBro was installed with Homebrew. Run this in Terminal:",
    "downloadInBackground": "Download in Background",
    "miniDownloading": "Downloading {{percent}}%",
    "miniReadyRestart": "Update ready — click to restart",
    "closeWhileDownloading": "An update is downloading. Closing this window will interrupt the install. Close anyway?",
    "closeAnyway": "Close Anyway",
    "keepDownloading": "Keep Downloading"
  }
}
