{
  "common": {
    "save": "Save",
    "cancel": "Cancel",
    "delete": "Delete",
    "edit": "Edit",
    "add": "Add",
    "remove": "Remove",
    "clear": "Clear",
    "clearAll": "Clear all",
    "loading": "Loading",
    "error": "Error",
    "success": "Success",
    "warning": "Warning",
    "confirm": "Confirm",
    "settings": "Settings",
    "advanced": "Advanced",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "platform": "Platform",
    "refresh": "Refresh",
    "rewind": "Rewind"
  },
  "chat": {
    "rewind": {
      "confirmMessage": "Rewind to this point? File changes after this message will be reverted. Rewinding does not affect files edited manually or via bash.",
      "confirmButton": "Rewind",
      "ariaLabel": "Rewind to here",
      "notice": "Rewound: {count} file(s) reverted",
      "noticeSaveFailed": "Rewound: {count} file(s) reverted, but failed to save state: {error}",
      "failed": "Rewind failed: {error}",
      "cannot": "Cannot rewind: {error}",
      "unavailableStreaming": "Cannot rewind while streaming",
      "unavailableNoUuid": "Cannot rewind: missing message identifiers"
    },
    "fork": {
      "ariaLabel": "Fork conversation",
      "chooseTarget": "Fork conversation",
      "targetNewTab": "New tab",
      "targetCurrentTab": "Current tab",
      "maxTabsReached": "Cannot fork: maximum {count} tabs reached",
      "notice": "Forked to new tab",
      "noticeCurrentTab": "Forked in current tab",
      "failed": "Fork failed: {error}",
      "unavailableStreaming": "Cannot fork while streaming",
      "unavailableNoUuid": "Cannot fork: missing message identifiers",
      "unavailableNoResponse": "Cannot fork: no response to fork from",
      "errorMessageNotFound": "Message not found",
      "errorNoSession": "No session ID available",
      "errorNoActiveTab": "No active tab",
      "commandNoMessages": "Cannot fork: no messages in conversation",
      "commandNoAssistantUuid": "Cannot fork: no assistant response with identifiers"
    },
    "bangBash": {
      "placeholder": "> Run a bash command...",
      "commandPanel": "Command panel",
      "copyAriaLabel": "Copy latest command output",
      "clearAriaLabel": "Clear bash output",
      "commandLabel": "{command}",
      "statusLabel": "Status: {status}",
      "collapseOutput": "Collapse command output",
      "expandOutput": "Expand command output",
      "running": "Running...",
      "copyFailed": "Failed to copy to clipboard"
    }
  },
  "settings": {
    "title": "Claudian Settings",
    "customization": "Customization",
    "userName": {
      "name": "What should Claudian call you?",
      "desc": "Your name for personalized greetings (leave empty for generic greetings)"
    },
    "excludedTags": {
      "name": "Excluded tags",
      "desc": "Notes with these tags will not auto-load as context (one per line, without #)"
    },
    "mediaFolder": {
      "name": "Media folder",
      "desc": "Folder containing attachments/images. When notes use ![[image.jpg]], Claude will look here. Leave empty for vault root."
    },
    "systemPrompt": {
      "name": "Custom system prompt",
      "desc": "Additional instructions appended to the default system prompt"
    },
    "autoTitle": {
      "name": "Auto-generate conversation titles",
      "desc": "Automatically generate conversation titles after the first user message is sent."
    },
    "titleModel": {
      "name": "Title generation model",
      "desc": "Model used for auto-generating conversation titles.",
      "auto": "Auto (Haiku)"
    },
    "navMappings": {
      "name": "Vim-style navigation mappings",
      "desc": "One mapping per line. Format: \"map <key> <action>\" (actions: scrollUp, scrollDown, focusInput)."
    },
    "hotkeys": "Hotkeys",
    "inlineEditHotkey": {
      "name": "Inline Edit",
      "descWithKey": "Current hotkey: {hotkey}",
      "descNoKey": "No hotkey set",
      "btnChange": "Change",
      "btnSet": "Set hotkey"
    },
    "openChatHotkey": {
      "name": "Open Chat",
      "descWithKey": "Current hotkey: {hotkey}",
      "descNoKey": "No hotkey set",
      "btnChange": "Change",
      "btnSet": "Set hotkey"
    },
    "newSessionHotkey": {
      "name": "New Session",
      "descWithKey": "Current hotkey: {hotkey}",
      "descNoKey": "No hotkey set",
      "btnChange": "Change",
      "btnSet": "Set hotkey"
    },
    "newTabHotkey": {
      "name": "New Tab",
      "descWithKey": "Current hotkey: {hotkey}",
      "descNoKey": "No hotkey set",
      "btnChange": "Change",
      "btnSet": "Set hotkey"
    },
    "closeTabHotkey": {
      "name": "Close Tab",
      "descWithKey": "Current hotkey: {hotkey}",
      "descNoKey": "No hotkey set",
      "btnChange": "Change",
      "btnSet": "Set hotkey"
    },
    "slashCommands": {
      "name": "Commands and Skills",
      "desc": "Define custom commands and skills triggered by /name."
    },
    "hiddenSlashCommands": {
      "name": "Hidden Commands",
      "desc": "Hide specific slash commands from the dropdown. Useful for hiding Claude Code commands that are not relevant to Claudian. Enter command names without the leading slash, one per line.",
      "placeholder": "commit\nbuild\ntest"
    },
    "mcpServers": {
      "name": "MCP Servers",
      "desc": "Configure Model Context Protocol servers to extend Claude's capabilities with external tools and data sources. Servers with context-saving mode require @mention to activate."
    },
    "plugins": {
      "name": "Claude Code Plugins",
      "desc": "Enable or disable Claude Code plugins discovered from ~/.claude/plugins. Enabled plugins are stored per vault."
    },
    "subagents": {
      "name": "Subagents",
      "desc": "Configure custom subagents that Claude can delegate to.",
      "noAgents": "No subagents configured. Click + to create one.",
      "deleteConfirm": "Delete subagent \"{name}\"?",
      "saveFailed": "Failed to save subagent: {message}",
      "refreshFailed": "Failed to refresh subagents: {message}",
      "deleteFailed": "Failed to delete subagent: {message}",
      "renameCleanupFailed": "Warning: could not remove old file for \"{name}\"",
      "created": "Subagent \"{name}\" created",
      "updated": "Subagent \"{name}\" updated",
      "deleted": "Subagent \"{name}\" deleted",
      "duplicateName": "An agent named \"{name}\" already exists",
      "descriptionRequired": "Description is required",
      "promptRequired": "System prompt is required",
      "modal": {
        "titleEdit": "Edit Subagent",
        "titleAdd": "Add Subagent",
        "name": "Name",
        "nameDesc": "Lowercase letters, numbers, and hyphens only",
        "namePlaceholder": "code-reviewer",
        "description": "Description",
        "descriptionDesc": "Brief description of this agent",
        "descriptionPlaceholder": "Reviews code for bugs and style",
        "advancedOptions": "Advanced options",
        "model": "Model",
        "modelDesc": "Model override for this agent",
        "tools": "Tools",
        "toolsDesc": "Comma-separated list of allowed tools (empty = all)",
        "disallowedTools": "Disallowed tools",
        "disallowedToolsDesc": "Comma-separated list of tools to disallow",
        "skills": "Skills",
        "skillsDesc": "Comma-separated list of skills",
        "prompt": "System prompt",
        "promptDesc": "Instructions for the agent",
        "promptPlaceholder": "You are a code reviewer. Analyze the given code for..."
      }
    },
    "safety": "Safety",
    "loadUserSettings": {
      "name": "Load user Claude settings",
      "desc": "Load ~/.claude/settings.json. When enabled, user's Claude Code permission rules may bypass Safe mode."
    },
    "enableBlocklist": {
      "name": "Enable command blocklist",
      "desc": "Block potentially dangerous bash commands"
    },
    "allowExternalAccess": {
      "name": "Allow external access",
      "desc": "Allow file and command access outside the vault directory. Takes effect immediately for all active sessions. Disabling vault restriction may expose sensitive files to prompt injection."
    },
    "blockedCommands": {
      "name": "Blocked commands ({platform})",
      "desc": "Patterns to block on {platform} (one per line). Supports regex.",
      "unixName": "Blocked commands (Unix/Git Bash)",
      "unixDesc": "Unix patterns also blocked on Windows because Git Bash can invoke them."
    },
    "exportPaths": {
      "name": "Allowed export paths",
      "desc": "Write-only destinations outside the vault when external access is off (one per line). Supports ~ for home directory.",
      "disabledDesc": "Ignored while external access is enabled. Turn off external access to enforce write-only export paths."
    },
    "environment": "Environment",
    "customVariables": {
      "name": "Custom variables",
      "desc": "Environment variables for Claude SDK (KEY=VALUE format, one per line). Shell export prefix supported."
    },
    "envSnippets": {
      "name": "Snippets",
      "addBtn": "Add snippet",
      "noSnippets": "No saved environment snippets yet. Click + to save your current environment configuration.",
      "nameRequired": "Please enter a name for the snippet",
      "modal": {
        "titleEdit": "Edit snippet",
        "titleSave": "Save snippet",
        "name": "Name",
        "namePlaceholder": "A descriptive name for this environment configuration",
        "description": "Description",
        "descPlaceholder": "Optional description",
        "envVars": "Environment variables",
        "envVarsPlaceholder": "KEY=VALUE format, one per line (export prefix supported)",
        "save": "Save",
        "update": "Update",
        "cancel": "Cancel"
      }
    },
    "customContextLimits": {
      "name": "Custom Context Limits",
      "desc": "Set context window sizes for your custom models. Leave empty to use the default (200k tokens).",
      "invalid": "Invalid format. Use: 256k, 1m, or exact count (1000-10000000)."
    },
    "advanced": "Advanced",
    "enableOpus1M": {
      "name": "Opus 1M context window",
      "desc": "Show Opus 1M in the model selector. Included with Max, Team, and Enterprise plans. API and Pro users need extra usage."
    },
    "enableSonnet1M": {
      "name": "Sonnet 1M context window",
      "desc": "Show Sonnet 1M in the model selector. Requires extra usage on Max, Team, and Enterprise plans. API and Pro users need extra usage."
    },
    "enableChrome": {
      "name": "Enable Chrome extension",
      "desc": "Allow Claude to interact with Chrome via the claude-in-chrome extension. Requires the extension to be installed. Requires session restart."
    },
    "enableBangBash": {
      "name": "Enable bash mode (!)",
      "desc": "Type ! on empty input to enter bash mode. Runs commands directly via Node.js child_process. Requires view reopen.",
      "validation": {
        "noNode": "Node.js not found on PATH. Install Node.js or check your PATH configuration."
      }
    },
    "maxTabs": {
      "name": "Maximum chat tabs",
      "desc": "Maximum number of concurrent chat tabs (3-10). Each tab uses a separate Claude session.",
      "warning": "More than 5 tabs may impact performance and memory usage."
    },
    "tabBarPosition": {
      "name": "Tab bar position",
      "desc": "Choose where to display tab badges and action buttons",
      "input": "Above input (default)",
      "header": "In header"
    },
    "enableAutoScroll": {
      "name": "Auto-scroll during streaming",
      "desc": "Automatically scroll to the bottom as Claude streams responses. Disable to stay at the top and read from the beginning."
    },
    "openInMainTab": {
      "name": "Open in main editor area",
      "desc": "Open chat panel as a main tab in the center editor area instead of the right sidebar"
    },
    "cliPath": {
      "name": "Claude CLI path",
      "desc": "Custom path to Claude Code CLI. Leave empty for auto-detection.",
      "descWindows": "For the native installer, use claude.exe. For npm/pnpm/yarn or other package manager installs, use the cli.js path (not claude.cmd).",
      "descUnix": "Paste the output of \"which claude\" — works for both native and npm/pnpm/yarn installs.",
      "validation": {
        "notExist": "Path does not exist",
        "isDirectory": "Path is a directory, not a file"
      }
    },
    "language": {
      "name": "Language",
      "desc": "Change the display language of the plugin interface"
    }
  }
}
