{
  "settings": {
    "title": "Settings",
    "tabs": {
      "general": "General",
      "appearance": "Appearance",
      "model": "Model",
      "ai": "Chat",
      "tools": "Tools",
      "knowledge": "Knowledge",
      "automation": "Automation",
      "lark": "Lark",
      "sms": "SMS",
      "about": "About",
      "pomodoro": "Pomodoro",
      "claudeCode": "Claude Code"
    },
    "language": {
      "label": "Language",
      "followSystem": "Follow System"
    },
    "general": {
      "system": "System",
      "autoLaunch": "Launch at login",
      "autoLaunchDesc": "Automatically start Aiko after logging into macOS",
      "theme": "Theme",
      "style": "Style",
      "styleLiquidGlass": "Liquid Glass",
      "styleFrosted": "Frosted Glass",
      "styleDesc": "Liquid Glass: translucent refractive; Frosted Glass: classic dark textured",
      "shortcuts": "Shortcuts",
      "shortcutOptionDouble": "Double-tap Option — Show/Hide chat bubble",
      "shortcutOptionHold": "Hold Option 1s — Start voice input",
      "shortcutOptionRelease": "Release Option — Stop recording, wait for recognition",
      "shortcutEnter": "Send message",
      "shortcutCmdEnter": "New line in message box",
      "shortcutCmdV": "Paste image to message box (supports screenshot paste)",
      "shortcutDrag": "Drag floating ball — Reposition pet",
      "shortcutRightClick": "Right-click chat bubble — Export, clear history, open settings",
      "languageDefaultDesc": "Follow system by default",
      "shortcutHoldLabel": "Hold 1s",
      "shortcutReleaseLabel": "Release Opt",
      "shortcutDragLabel": "Drag",
      "shortcutRightClickLabel": "Right Click"
    },
    "appearance": {
      "petModel": "Pet Model",
      "renderMode": "Render Mode",
      "renderModeLive2D": "Live2D (2D)",
      "renderModeVRM": "VRM (3D)",
      "vrmModel": "VRM Model",
      "vrmDelete": "Delete",
      "vrmImport": "Import VRM File",
      "vrmUserImported": "User Imported",
      "vrmBuiltin": "Built-in",
      "vrmDeleteModel": "Delete this model",
      "vrmUploading": "Uploading...",
      "vrmAnimPreview": "Animation Preview",
      "live2DModel": "Live2D Model",
      "petSize": "Pet Size",
      "petSizeDesc": "Size in pixels, 0 for auto",
      "petSizeAuto": "Auto",
      "chatSizeDefault": "Default",
      "resetToAuto": "Reset to Auto",
      "resetToDefault": "Reset to Default",
      "currentScreen": "Current Screen: {width} x {height}",
      "chatSize": "Chat Bubble Size",
      "chatWidth": "Width",
      "chatHeight": "Height",
      "resetBall": "Reset Floating Ball Position",
      "resetBallDesc": "Move the floating ball back to default position",
      "voice": "Voice & Sound",
      "voiceAutoSend": "Auto-send after voice recognition",
      "voiceAutoSendDesc": "Auto-send the recognized text without manual confirmation after releasing the Option key",
      "soundsEnabled": "Chat sound effects",
      "soundsEnabledDesc": "Play gentle sound cues when sending, receiving messages, or on errors",
      "ttsAutoPlay": "Auto-read AI replies",
      "ttsAutoPlayDesc": "Automatically read AI replies aloud (requires a TTS engine in model settings)",
      "ttsSummarizeThreshold": "Summary word threshold",
      "ttsSummarizeThresholdDesc": "Summarize messages longer than this before reading, 0 to disable",
      "avatar": "Avatar Settings",
      "aiAvatar": "AI Avatar",
      "userAvatar": "User Avatar",
      "resetAvatar": "Reset",
      "change": "Change",
      "vrmAnimLabels": {
        "waiting": "Idle",
        "wave": "Wave",
        "nod": "Nod",
        "curious": "Curious",
        "stretch": "Stretch",
        "sleepy": "Sleepy",
        "talk": "Talk",
        "awkward": "Awkward",
        "sad": "Sad",
        "tsundere": "Tsundere",
        "surprised": "Surprised",
        "appear": "Appear"
      }
    },
    "model": {
      "title": "Model Profiles",
      "addProfile": "Add Profile",
      "noProfile": "No model configured. Click the button below to add one.",
      "activate": "Activate",
      "activated": "Activated",
      "edit": "Edit",
      "delete": "Delete",
      "profileName": "Profile Name",
      "provider": "Provider",
      "baseURL": "Base URL",
      "apiKey": "API Key",
      "model": "Model",
      "embeddingModel": "Embedding Model",
      "embeddingDim": "Embedding Dimension",
      "embeddingInherit": "Embedding inherits LLM config",
      "embeddingProvider": "Embedding Provider",
      "embeddingBaseURL": "Embedding Base URL",
      "embeddingAPIKey": "Embedding API Key",
      "ttsModelDir": "TTS Model Directory",
      "ttsVoice": "TTS Voice",
      "ttsSpeed": "TTS Speed",
      "ttsBackend": "TTS Backend",
      "supportsVision": "Supports Vision",
      "saveProfile": "Save",
      "cancel": "Cancel",
      "fetchOpenRouter": "Fetch OpenRouter Models",
      "restartingAgent": "Restarting Agent...",
      "profileSwitched": "Profile switched",
      "noModelsFetched": "No models found",
      "fetchModelsFailed": "Failed to fetch models: {error}",
      "saveFailed": "Save failed: {error}",
      "switchFailed": "Switch failed: {error}",
      "deleteFailed": "Delete failed: {error}",
      "deleteProfileTitle": "Delete Profile",
      "confirmDeleteProfile": "Delete profile \"{name}\"? This cannot be undone.",
      "deleteVRMTitle": "Delete Model",
      "confirmDeleteVRM": "Delete \"{name}\"? This cannot be undone.",
      "validation": {
        "nameRequired": "Profile name is required",
        "modelRequired": "Model name is required",
        "baseUrlRequired": "Base URL is required"
      },
      "fetchingModels": "Fetching...",
      "fetchModels": "Fetch Models",
      "saving": "Saving...",
      "providerLabels": {
        "openai": "OpenAI Compatible API",
        "openrouter": "OpenRouter"
      },
      "placeholder": {
        "profileName": "My OpenAI",
        "baseURL": "http://localhost:11434/v1",
        "baseURLOpenRouter": "https://openrouter.ai/api/v1 (leave empty for default)",
        "apiKeyOptional": "(optional)",
        "selectModel": "-- Select Model --",
        "model": "gpt-4o",
        "embeddingModel": "text-embedding-3-small (optional)",
        "embeddingDisable": "-- Disable (turn off knowledge search) --",
        "embeddingBaseURL": "https://api.openai.com/v1"
      },
      "embeddingInheritHint": "Use the same Base URL and API Key",
      "embeddingDimHint": "Must match the selected vector model, default 1536",
      "supportsVisionHint": "Enable to send images to the model, only effective for multimodal models",
      "ttsBackendOptions": {
        "systemVoice": "System Voice (macOS built-in)",
        "kokoro": "Kokoro-82M (local offline, anime Chinese voice)"
      },
      "kokoro": {
        "install": "Install / Check Kokoro Environment",
        "installing": "Installing...",
        "installFailed": "Install failed: {error}",
        "retry": "Retry"
      }
    },
    "ai": {
      "systemPrompt": "System Prompt",
      "systemPromptDesc": "Define the AI's behavior and personality",
      "shortTermLimit": "Short-term Memory Rounds",
      "shortTermLimitDesc": "Keep the most recent N conversation rounds as context",
      "maxContextTokens": "Context Token Limit",
      "maxContextTokensDesc": "Compress conversation history when context exceeds this token count (0 = disabled)",
      "nudgeInterval": "Self-growth Nudge Interval",
      "nudgeIntervalDesc": "Trigger memory consolidation every N rounds, 0 for default",
      "skillsDirs": "Skills Directories",
      "skillsDirsDesc": "One directory path per line, containing YAML skill files",
      "skillsDirsPlaceholder": "~/.aiko/auto-skills",
      "thinkingLevel": "Thinking Level",
      "default": "Default",
      "off": "Off",
      "low": "Low",
      "medium": "Medium",
      "high": "High",
      "memoryAndGrowth": "Memory & Growth",
      "skillsSection": "Skills & Extensions"
    },
    "tools": {
      "subTabs": {
        "permissions": "Permissions",
        "mcp": "MCP",
        "settings": "Tool Settings"
      },
      "permissions": {
        "title": "Built-in Tool Permissions",
        "level": "Permission Level",
        "granted": "Granted",
        "grantedAt": "Granted At",
        "lastUsed": "Last Used",
        "grant": "Grant",
        "revoke": "Revoke",
        "confirmPrompt": "Confirm each time",
        "autoApprove": "Auto-approve",
        "disabled": "Disabled",
        "noTools": "No tool information",
        "publicTitle": "Always On (No Authorization Required)",
        "protectedTitle": "Sensitive Tools (Can Be Toggled)",
        "jinaPlaceholder": "jina_xxxxxxxxxxxx (leave empty for default)",
        "jinaHint": "Optional, increases fetch quota (leave empty for free tier)",
        "tavilyPlaceholder": "tvly-xxxxxxxxxxxx (leave empty for DuckDuckGo fallback)",
        "tavilyHint": "Optional, enables Tavily with time filtering; leave empty for DuckDuckGo fallback",
        "updatePermFailed": "Failed to update permission: {error}"
      },
      "mcp": {
        "addServer": "Add MCP Server",
        "editServer": "Edit MCP Server",
        "name": "Name",
        "transport": "Transport",
        "command": "Command",
        "args": "Arguments",
        "url": "URL",
        "headers": "Headers (JSON)",
        "enabled": "Enabled",
        "save": "Save",
        "cancel": "Cancel",
        "delete": "Delete",
        "noServers": "No MCP servers",
        "sectionTitle": "MCP Extension Tools",
        "enabledStatus": "Enabled",
        "disabledStatus": "Disabled",
        "saving": "Saving...",
        "argsHint": "Space separated",
        "headersHint": "One per line, format: Key: Value",
        "validation": {
          "nameRequired": "Name is required",
          "commandRequired": "Command is required",
          "urlRequired": "URL is required"
        },
        "deleteServerTitle": "Delete MCP Server",
        "confirmDelete": "Delete \"{name}\"? The agent will no longer be able to use tools provided by this server.",
        "placeholder": {
          "command": "/usr/local/bin/mcp-server",
          "args": "--flag value",
          "url": "http://localhost:8080/sse"
        }
      },
      "settings": {
        "shellTimeout": "Shell Timeout (seconds)",
        "shellTimeoutDesc": "Timeout for execute_shell tool, default 30",
        "codeTimeout": "Code Timeout (seconds)",
        "codeTimeoutDesc": "Timeout for execute_code tool, default 60",
        "allowedPaths": "Filesystem Whitelist",
        "allowedPathsDesc": "One directory path per line, empty denies all paths",
        "addPath": "Add",
        "trustedCommands": "Trusted Commands",
        "trustedCommandsDesc": "One command prefix per line, matching commands skip confirmation",
        "noPaths": "No allowed paths; file read/write is disabled",
        "noCommands": "No trusted commands; all shell commands require confirmation",
        "pathPlaceholder": "/Users/me/projects or /tmp/*",
        "cmdPlaceholder": "git",
        "timeoutSection": "Timeouts",
        "remove": "Remove"
      }
    },
    "knowledge": {
      "import": "Import Knowledge",
      "importDesc": "Import documents, web pages, or text into the knowledge base",
      "importUrl": "URL",
      "importFile": "File",
      "importText": "Text",
      "source": "Source",
      "sources": "Knowledge Sources",
      "noSources": "No knowledge sources",
      "deleteSource": "Delete",
      "jinaAPIKey": "Jina API Key",
      "jinaAPIKeyDesc": "Leave empty to use Jina free tier",
      "tavilyAPIKey": "Tavily API Key",
      "tavilyAPIKeyDesc": "Leave empty to use DuckDuckGo fallback",
      "progress": "Importing...",
      "done": "Import complete",
      "error": "Import failed",
      "importFailedDetail": "Import failed: {error}",
      "deleteSourceTitle": "Delete Source",
      "confirmDeleteSource": "Remove \"{name}\" from the knowledge base? The associated vector indexes will also be deleted.",
      "deleteFailed": "Delete failed: {error}",
      "importHint": "Supports .txt, .md, .pdf, .epub; AI can reference document content via semantic search after import",
      "importProgress": "Processing {source}: {processed}/{total} segments"
    },
    "automation": {
      "subTabs": {
        "cron": "Cron Jobs",
        "proactive": "Pending"
      },
      "cron": {
        "add": "Add Job",
        "edit": "Edit Job",
        "name": "Name",
        "description": "Description",
        "schedule": "Cron Expression",
        "prompt": "Prompt",
        "enabled": "Enabled",
        "runNow": "Run Now",
        "delete": "Delete",
        "save": "Save",
        "cancel": "Cancel",
        "noJobs": "No cron jobs",
        "saveToMemory": "Save result to long-term memory",
        "notify": "Send system notification",
        "validation": {
          "requiredFields": "Name, Cron expression, and Prompt are required",
          "invalidCron": "Invalid cron expression: expected 5 or 6 fields, or a shorthand (daily, hourly, etc.)"
        },
        "deleteJobTitle": "Delete Job",
        "confirmDelete": "Delete job \"{name}\"?",
        "statusEnabled": "Running",
        "statusDisabled": "Disabled",
        "triggered": "Triggered",
        "triggerFailed": "Trigger failed: {error}",
        "saving": "Saving...",
        "enable": "Enable",
        "disable": "Disable",
        "lastRun": "Last run: {time}",
        "nextRun": "Next run: {time}",
        "placeholder": {
          "name": "Morning Briefing",
          "description": "Optional description",
          "schedule": "0 8 * * *",
          "prompt": "Instructions to send to the AI at the scheduled time, e.g.: Summarize today's news for me"
        },
        "scheduleHint": "5-field cron (min hour day month weekday), e.g. 0 8 * * * = daily at 8am; shortcuts like daily and hourly are also supported",
        "notifyHint": "Send macOS system notification after execution",
        "saveToMemoryHint": "Save result to long-term memory after successful execution"
      },
      "proactive": {
        "noItems": "No pending items",
        "delete": "Delete",
        "refresh": "Refresh",
        "loadFailed": "Load failed",
        "deleteTitle": "Delete Reminder",
        "confirmDelete": "Delete reminder \"{name}\"?"
      }
    },
    "lark": {
      "status": "Lark Status",
      "installed": "Installed",
      "notInstalled": "Not Installed",
      "installPrompt": "Please install lark-cli first",
      "command": "Run Command",
      "run": "Run",
      "detecting": "Detecting...",
      "pathHint": "lark-cli path is auto-detected from PATH",
      "guide": "Quick Guide",
      "guideSteps": {
        "step1Title": "Install CLI",
        "step2Title": "Install CLI SKILL (Required)",
        "step3Title": "Configure App Credentials (one-time, interactive setup)",
        "step4Title": "Login & Authorize (--recommend picks commonly used permissions)",
        "step5Title": "Click \"Lark Status\" to verify when done"
      },
      "hint": "Once configured, the AI can operate Lark via lark-cli: send messages, check calendars, read docs, and more.",
      "hintNotePrefix": "Note: ",
      "hintNote": "You need to add the Lark Skills path (usually {path}) in the Skills Directories under the Chat tab."
    },
    "sms": {
      "watcher": "SMS Watcher",
      "start": "Start",
      "stop": "Stop",
      "status": "Status",
      "running": "Running",
      "stopped": "Stopped",
      "allMessages": "Forward all SMS (including non-verification) to notifications",
      "processing": "Processing...",
      "desc1": "Monitor SMS messages received by the macOS Messages app, automatically extract verification codes and copy to clipboard, and push notification bubbles.",
      "desc2Prefix": "Required Permission: ",
      "desc2": "System Settings > Privacy & Security > Full Disk Access > Add Aiko.",
      "guideSteps": {
        "step1Title": "Grant Full Disk Access",
        "step1Desc": "System Settings > Privacy & Security > Full Disk Access > Click \"+\" and add Aiko",
        "step2Title": "Click \"Start\" to begin listening",
        "step2Desc": "When an SMS with a verification code is received, the code is automatically copied to clipboard and a notification bubble appears - no manual copy needed."
      }
    },
    "about": {
      "version": "Version",
      "currentVersion": "Current Version",
      "checkUpdate": "Check for Updates",
      "upToDate": "Up to date",
      "newVersion": "New version available",
      "installing": "Installing update...",
      "releaseNotes": "Release Notes",
      "github": "GitHub",
      "checking": "Checking...",
      "installNow": "Install Now",
      "noDownload": "No download available",
      "preparing": "Preparing...",
      "retry": "Retry",
      "checkFailed": "Check failed: {error}",
      "installFailed": "Install failed: {error}",
      "poweredBy": "Powered by eino · Built with Wails"
    },
    "save": "Save",
    "saving": "Saving...",
    "saved": "Saved",
    "done": "Done",
    "search": "Search settings...",
    "noResults": "No matching results",
    "resizeAriaLabel": "Resize Window",
    "selectFileTitle": "Select Document",
    "tabMeta": {
      "general": "General",
      "appearance": "Appearance",
      "model": "Model",
      "ai": "Chat",
      "tools": "Tools",
      "knowledge": "Knowledge",
      "automation": "Automation",
      "lark": "Lark",
      "sms": "SMS",
      "pomodoro": "Pomodoro",
      "about": "About"
    }
  },
  "chat": {
    "placeholder": "Type a message...",
    "send": "Send",
    "sendHint": "Cmd+Return Send, Return New line",
    "stop": "Stop",
    "stopAriaLabel": "Stop generating",
    "sendAriaLabel": "Send",
    "sendTitle": "Send (Cmd+Enter)",
    "thinkingLevel": "Thinking Level",
    "useKnowledge": "Search knowledge base for this query",
    "useMemory": "Search long-term memory for this query",
    "knowledgeChip": "Knowledge",
    "memoryChip": "Memory",
    "markdownMode": "Markdown Edit Mode",
    "attachFile": "Attach File",
    "clearHistory": "Clear History",
    "clearConfirm": "Clear all chat history? This cannot be undone.",
    "clearConfirmOk": "Clear",
    "clearConfirmCancel": "Cancel",
    "export": "Export History",
    "exportFailed": "Export failed",
    "thinkingLabel": {
      "default": "Default",
      "off": "No Thinking",
      "low": "Low Thinking",
      "medium": "Medium Thinking",
      "high": "High Thinking"
    },
    "clearHistoryTitle": "Clear Chat History",
    "thinkingProcess": "Thinking",
    "expand": "Expand",
    "collapse": "Collapse",
    "expandLinks": "Show {n} more links",
    "collapseLinks": "Hide links",
    "regenerate": "Regenerate",
    "listening": "Listening...",
    "rowDetail": "Row Detail",
    "toolArgs": "Tool Arguments",
    "scrollToBottomAria": "Scroll to bottom",
    "pendingImage": "Pending image {n}",
    "removeImage": "Remove image",
    "removeFile": "Remove file",
    "preparing": "Preparing...",
    "paste": "Paste",
    "cut": "Cut",
    "more": "+{n} more",
    "updateProgress": "Update progress {pct}%",
    "userAlt": "User",
    "copy": "Copy",
    "copied": "Copied",
    "speak": "Read Aloud",
    "stopSpeak": "Stop Reading",
    "searchPlaceholder": "Search chat history...",
    "searchMatches": "matches",
    "searchClose": "Close search",
    "searchNoResults": "No matching messages found",
    "searchNoResultsHint": "Try different keywords or check your spelling",
    "system": {
      "welcome": "Hello! I'm your AI desktop pet.\n\nI support:\n- Natural language chat\n- Tool calling (time queries, system info, network status, etc.)\n- Knowledge base Q&A (import documents in Settings)\n\nQuick tips:\n- Right-click me -> Switch expression / Change model / Open settings\n- Right-click chat bubble -> Export chat history\n\nPlease configure the LLM model in Settings first to start chatting.",
      "error": "Error: {error}",
      "voiceError": "Voice recognition failed",
      "voiceErrorMicDenied": "Please allow Aiko to use the microphone in System Preferences.",
      "voiceErrorSpeechDenied": "Please allow Aiko to use speech recognition in System Preferences.",
      "voiceErrorUnknown": "Voice recognition error: {error}",
      "updateFailed": "Update failed: {error}",
      "regenerateFailed": "Regeneration failed: {error}",
      "fileTooBig": "File too large (max 200KB): {name}",
      "fileUnsupportedType": "Unsupported file type, text files only: {name}",
      "fileReadError": "File read error: {name}",
      "sendFailed": "Send failed: {error}"
    },
    "lightbox": {
      "zoomOut": "Zoom out (-)",
      "zoomIn": "Zoom in (+)",
      "reset": "Reset (double-click image)"
    }
  },
  "chatBubble": {
    "fullscreen": "Fullscreen",
    "exitFullscreen": "Exit Fullscreen",
    "close": "Close",
    "export": "Export Chat History",
    "clearHistory": "Clear Chat History",
    "openSettings": "Open Settings",
    "chat": "Chat",
    "latencyAriaLabel": "LLM latency",
    "search": "Search chat history"
  },
  "toolConfirm": {
    "title": "Tool Execution Confirmation",
    "titleUpdate": "Agent requests to install update",
    "titleShell": "Agent requests to execute Shell command",
    "titleCode": "Agent requests to execute code",
    "shellWarning": "Shell commands can modify system files and execute arbitrary operations. Please verify safety before proceeding.",
    "codeWarning": "{lang} code will be executed using the local interpreter. Please verify safety before proceeding.",
    "updateRiskText": "After installation the app will restart automatically. The update takes about 10-30 seconds and your conversation will be preserved.",
    "command": "Command",
    "commandEditable": "Command (editable)",
    "code": "Code",
    "codeEditable": "Code (editable)",
    "workingDir": "Working Directory",
    "versionInfo": "Version Info",
    "confirm": "Approve Execution",
    "cancel": "Cancel",
    "reject": "Decline",
    "approve": "Approve",
    "installUpdate": "Install Update",
    "editBeforeRun": "Edit before running",
    "appUpdate": "App Update",
    "languageLabel": {
      "shell": "Shell",
      "python": "Python",
      "node": "Node.js",
      "ruby": "Ruby",
      "bash": "Bash"
    }
  },
  "notification": {
    "close": "Dismiss",
    "fallbackTitle": "Notification"
  },
  "petMenu": {
    "switchExpression": "Switch Expression",
    "switchModel": "Switch Model",
    "openSettings": "Open Settings",
    "quitApp": "Quit"
  },
  "app": {
    "welcomeTitle": "Hello! I'm your desktop pet",
    "welcomeMessage": "Please configure the LLM in Settings to start chatting~",
    "pendingNotification": "(=^.^=)",
    "errorTitle": "Something went wrong",
    "updateInstalling": "Installing update v{version}, app will restart soon..."
  },
  "execution": {
    "running": "Running...",
    "executing": "Executing tool...",
    "done": "Complete",
    "kill": "Terminate"
  },
  "pomodoro": {
    "focus": "Focusing",
    "shortBreak": "Short Break",
    "longBreak": "Long Break",
    "done": "Done",
    "round": "Round {current} / {total}",
    "start": "Start",
    "pause": "Pause",
    "resume": "Resume",
    "stop": "Stop",
    "menuLabelShow": "Show Pomodoro",
    "menuLabelHide": "Hide Pomodoro",
    "settings": {
      "title": "Timer Settings",
      "focusDuration": "Focus Duration (min)",
      "focusDurationDesc": "Length of each focus session, default 25",
      "shortBreakDuration": "Short Break Duration (min)",
      "shortBreakDurationDesc": "Break between focus sessions, default 5",
      "longBreakDuration": "Long Break Duration (min)",
      "longBreakDurationDesc": "Extended break after N rounds, default 15",
      "roundsBeforeLongBreak": "Rounds Before Long Break",
      "roundsBeforeLongBreakDesc": "Number of focus rounds before a long break, default 4",
      "hint": "Changes take effect immediately and do not affect the active timer."
    }
  },
  "system": {
    "showPanel": "Show System Panel",
    "hidePanel": "Hide System Panel",
    "cpu": "CPU",
    "memory": "MEM",
    "disk": "DSK",
    "usedTotal": "{used} / {total}",
    "expand": "Show top processes",
    "collapse": "Hide top processes",
    "topCpu": "CPU Top 5 (per core)",
    "topMemory": "MEM Top 5",
    "network": "NET",
    "settings": {
      "title": "System Resource",
      "interval": "Refresh Interval",
      "intervalDesc": "How often to refresh CPU, memory, and disk usage data"
    }
  },
  "claudeCode": {
    "title": "Claude Code Sync",
    "enabled": "Enable Status Sync",
    "enabledDesc": "Pet automatically shows thinking and notification states when Claude Code is working",
    "port": "Listen Port",
    "portDesc": "HTTP server listen port, must match Claude Code hook configuration",
    "notificationSecs": "Notification Duration (sec)",
    "notificationSecsDesc": "How long the Claude Code notification bubble stays visible",
    "hookConfig": "Hook Configuration",
    "hookConfigHint": "Merge the following config into ~/.claude/settings.json under the \"hooks\" key",
    "copy": "Copy",
    "copied": "Copied to clipboard"
  },
  "claudeStatus": {
    "idle": "Idle",
    "thinking": "Working",
    "error": "Error",
    "showPanel": "Show Claude Status",
    "hidePanel": "Hide Claude Status",
    "eventPreToolUse": "Running Tool",
    "eventPermissionRequest": "Waiting Permission",
    "eventStop": "Done",
    "eventStopFailure": "Error",
    "dismiss": "Dismiss",
    "tool": {
      "bash": "Bash",
      "write": "Write",
      "edit": "Edit",
      "read": "Read",
      "grep": "Search",
      "glob": "Find",
      "webFetch": "Fetch",
      "webSearch": "Search"
    },
    "stale": "Stalled?",
    "compact": "Compacting",
    "elapsedTime": "took: ",
    "toolCallCount": "tool calls",
    "currentTool": "Current tool",
    "toolCountLabel": "Tools: "
  },
  "common": {
    "close": "Close"
  }
}