{
  "agent": {
    "add": {
      "description": "Handle complex tasks with various tools",
      "error": {
        "failed": "Failed to add a agent",
        "invalid_agent": "Invalid Agent"
      },
      "model": {
        "supported_providers": "Supported Providers",
        "tooltip": "Currently, only models that support Anthropic endpoints are available for the Agent feature.",
        "view_providers": "View supported providers"
      },
      "title": "Add Agent",
      "type": {
        "placeholder": "Select an agent type"
      }
    },
    "askUserQuestion": {
      "answered": "answered",
      "close": "Close",
      "customPlaceholder": "Enter your answer...",
      "loading": "Loading questions...",
      "multiSelect": "Multi-select",
      "next": "Next",
      "noQuestions": "No questions available",
      "other": "Other",
      "previous": "Previous",
      "progress": "{{current}} of {{total}}",
      "skip": "Skip",
      "submit": "Submit",
      "title": "Questions from Agent"
    },
    "cherryClaw": {
      "channels": {
        "add": "Add",
        "bindAgent": "Bind Agent",
        "chatIdsAutoTrackHint": "When left empty, the system will auto-track: you need to send a message to the Bot on the platform first, then the system will record the Chat ID for future notifications.",
        "comingSoon": "Coming soon",
        "connected": "Connected",
        "connecting": "Connecting",
        "createError": "Failed to create channel",
        "deleteConfirm": "Delete channel \"{{name}}\"?",
        "deleteError": "Failed to delete channel",
        "description": "Connect your agent to messaging platforms.",
        "disconnected": "Disconnected",
        "discord": {
          "botToken": "Bot Token",
          "botTokenPlaceholder": "Enter your Discord bot token",
          "channelIds": "Allowed Channel IDs",
          "channelIdsHint": "Format: channel:id or dm:id. Leave empty to allow all.",
          "channelIdsPlaceholder": "channel:123456789, dm:987654321",
          "description": "Receive and respond to messages via a Discord bot using WebSocket gateway.",
          "title": "Discord",
          "whoamiTip": "💡 Tip: Send /whoami to the bot to get your channel ID in the correct format."
        },
        "error": "Error",
        "feishu": {
          "appId": "App ID",
          "appIdPlaceholder": "Enter your Feishu app ID",
          "appSecret": "App Secret",
          "appSecretPlaceholder": "Enter your Feishu app secret",
          "chatIds": "Allowed Chat IDs",
          "chatIdsHint": "Comma-separated chat IDs. Leave empty to allow all chats.",
          "chatIdsPlaceholder": "oc_xxxxx, oc_yyyyy",
          "connected": "Connected",
          "description": "Receive and respond to messages via a Feishu/Lark bot using WebSocket.",
          "domain": "Domain",
          "domainFeishu": "Feishu (China)",
          "domainLark": "Lark (International)",
          "encryptKey": "Encrypt Key",
          "encryptKeyPlaceholder": "Enter the Encrypt Key from your Feishu app",
          "loginHint": "No credentials configured. Enable the channel to start QR code registration, or enter App ID and App Secret manually.",
          "qrExpired": "QR code expired. Please retry by toggling the channel.",
          "qrHint": "Waiting for QR code scan...",
          "qrScanHint": "Open Feishu on your phone and scan the QR code to create a bot app.",
          "qrTitle": "Feishu QR Registration",
          "title": "Feishu",
          "verificationToken": "Verification Token",
          "verificationTokenPlaceholder": "Enter the Verification Token from your Feishu app"
        },
        "logs": "Logs",
        "noInstances": "No {{type}} channels configured. Click \"+ Add\" to create one.",
        "noLogs": "No logs yet",
        "notifyReceiver": "Receive task notifications",
        "notifyReceiverHint": "Send scheduler task results to this channel.",
        "qq": {
          "appId": "App ID",
          "appIdPlaceholder": "Enter your QQ Bot App ID",
          "chatIds": "Allowed Chat IDs",
          "chatIdsHint": "Format: c2c:openid, group:groupid, channel:channelid. Leave empty to allow all.",
          "chatIdsPlaceholder": "c2c:abc123, group:xyz789",
          "clientSecret": "Client Secret",
          "clientSecretPlaceholder": "Enter your QQ Bot client secret",
          "description": "Receive and respond to messages via QQ Bot official API.",
          "title": "QQ",
          "whoamiTip": "💡 Tip: Send /whoami to the bot to get your chat ID in the correct format."
        },
        "security": {
          "inheritFromAgent": "Inherit from agent",
          "permissionMode": "Channel Permission Mode",
          "permissionModeHint": "Override the agent's permission mode for messages from this channel. \"Inherit\" uses the agent's default."
        },
        "selectAgent": "Select an agent to bind",
        "slack": {
          "appToken": "App-Level Token",
          "appTokenPlaceholder": "xapp-...",
          "botToken": "Bot Token",
          "botTokenPlaceholder": "xoxb-...",
          "channelIds": "Allowed Channel IDs",
          "channelIdsHint": "Slack channel IDs. Leave empty to allow all.",
          "channelIdsPlaceholder": "C01234567, D89012345",
          "description": "Receive and respond to messages via a Slack bot using Socket Mode.",
          "title": "Slack",
          "whoamiTip": "💡 Tip: Send /whoami to the bot to get the channel ID."
        },
        "soulModeRequired": "This agent does not have Autonomous Mode enabled. Channel features will not work. Please enable it in agent settings.",
        "tab": "Channels",
        "telegram": {
          "botToken": "Bot Token",
          "botTokenPlaceholder": "Enter your Telegram bot token",
          "chatIds": "Allowed Chat IDs",
          "chatIdsHint": "Comma-separated. Leave empty to allow all chats.",
          "chatIdsPlaceholder": "123456789, 987654321",
          "description": "Receive and respond to messages via a Telegram bot using long polling.",
          "title": "Telegram"
        },
        "title": "Channels",
        "updateError": "Failed to update channel",
        "wechat": {
          "addAccount": "Add WeChat Account",
          "chatIds": "Allowed User IDs",
          "chatIdsHint": "Comma-separated. Leave empty to allow all users.",
          "chatIdsPlaceholder": "wxid_abc123, wxid_def456",
          "connected": "Logged in",
          "description": "Receive and respond to messages via WeChat using the iLink Bot API.",
          "disconnected": "Not logged in",
          "loginHint": "First login requires scanning a QR code. A QR code will appear automatically when the channel connects.",
          "qrHint": "Open WeChat on your phone, scan the QR code to log in.",
          "qrTitle": "WeChat QR Login",
          "title": "WeChat",
          "whoamiTip": "Tip: Send /whoami in WeChat to get a user's ID."
        }
      },
      "heartbeat": {
        "enabled": "Enable Heartbeat",
        "enabledHelper": "When enabled and heartbeat.md exists in the workspace, the scheduler reads its content and sends it to the main session at the configured interval.",
        "interval": "Interval (minutes)",
        "intervalHelper": "How often the heartbeat runs, in minutes."
      },
      "sandbox": {
        "description": "Restricts the agent's filesystem and network access to the workspace directory using OS-level sandboxing.",
        "helper": "Restrict filesystem and command access to the workspace path.",
        "label": "Sandbox Mode"
      },
      "scheduler": {
        "cron": {
          "helper": "Standard cron expression (e.g., '*/30 * * * *' for every 30 minutes).",
          "label": "Cron Expression",
          "placeholder": "*/30 * * * *"
        },
        "description": "The scheduler triggers the agent autonomously on a schedule.",
        "enabled": "Enable Scheduler",
        "enabledHelper": "When enabled, the agent will run automatically based on the configured schedule.",
        "errors": {
          "invalidCron": "Invalid cron expression",
          "invalidDelay": "Delay must be a positive number",
          "invalidInterval": "Interval must be a positive number"
        },
        "interval": {
          "helper": "How often the agent should run, in seconds.",
          "label": "Interval (seconds)"
        },
        "lastRun": "Last Run",
        "never": "Never",
        "nextRun": "Next Run",
        "oneTime": {
          "helper": "One-time delay in seconds before the agent runs.",
          "label": "Delay (seconds)"
        },
        "status": {
          "running": "Running",
          "stopped": "Stopped",
          "tickInProgress": "Tick in progress"
        },
        "tab": "Scheduler",
        "title": "Scheduler Configuration",
        "type": {
          "cron": "Cron Expression",
          "interval": "Fixed Interval",
          "label": "Schedule Type",
          "one-time": "One-Time Delay"
        }
      },
      "soul": {
        "description": "The soul defines the agent's personality and base behavior. It is read from soul.md in the workspace root.",
        "empty": "No soul.md found in the workspace root. Create one to define the agent's personality.",
        "enabled": "Enable Soul",
        "enabledHelper": "When enabled, the agent reads soul.md from the workspace root and prepends it to the system prompt.",
        "fileLabel": "soul.md",
        "preview": "Soul Preview",
        "tab": "Soul",
        "title": "Soul Configuration"
      },
      "tasks": {
        "add": "Add Task",
        "cancel": "Cancel",
        "channels": {
          "label": "Send to Channels",
          "noActiveChatIds": "The selected channels have no available recipients (Chat ID). Task results may not be delivered. Please send a message to the Bot on the platform first.",
          "placeholder": "Select channels to receive results"
        },
        "cronPlaceholder": "e.g. 0 9 * * * (every day at 9 AM)",
        "delete": {
          "confirm": "Are you sure you want to delete this task?",
          "label": "Delete"
        },
        "edit": "Edit",
        "empty": "No scheduled tasks. Add one to get started.",
        "error": {
          "createFailed": "Failed to create task",
          "deleteFailed": "Failed to delete task",
          "loadFailed": "Failed to load tasks",
          "runFailed": "Failed to run task",
          "updateFailed": "Failed to update task"
        },
        "frequency": {
          "everyPrefix": "Every",
          "everySuffix": "minutes",
          "label": "Execution Frequency"
        },
        "intervalPlaceholder": "At least 1",
        "intervalUnit": "minutes",
        "lastRun": "Last Run",
        "logs": {
          "cancelled": "Cancelled",
          "completed": "Completed",
          "duration": "Duration",
          "empty": "No run history yet.",
          "failed": "Failed",
          "justNow": "just now",
          "label": "Run History",
          "loadError": "Failed to load run history",
          "result": "Result",
          "runAt": "Run At",
          "running": "Running...",
          "search": "Search logs...",
          "status": "Status",
          "viewSession": "View session"
        },
        "name": {
          "label": "Name",
          "placeholder": "e.g. Daily code review"
        },
        "nextRun": "Next Run",
        "oncePlaceholder": "Select date and time",
        "pause": "Pause",
        "prompt": {
          "expand": "Expand editor",
          "label": "Prompt",
          "placeholder": "What should the agent do when this task runs?"
        },
        "resume": "Resume",
        "run": "Run",
        "runTriggered": "Task triggered",
        "save": "Save",
        "scheduleType": {
          "cron": "Cron",
          "interval": "Interval",
          "once": "Once"
        },
        "status": {
          "active": "Active",
          "completed": "Completed",
          "paused": "Paused"
        },
        "tab": "Tasks",
        "time": {
          "hoursAgo": "{{count}}h ago",
          "minutesAgo": "{{count}}m ago"
        },
        "timeout": {
          "label": "Maximum Execution Time",
          "placeholder": "No limit"
        },
        "title": "Scheduled Tasks"
      },
      "warning": {
        "bypassPermissions": "CherryClaw agents run with Full Auto Mode by default. All tools execute without asking for approval."
      }
    },
    "delete": {
      "content": "Deleting the agent will forcibly stop and delete all sessions associated with the agent. Are you sure?",
      "error": {
        "failed": "Failed to delete the agent"
      },
      "title": "Delete Agent"
    },
    "edit": {
      "title": "Edit Agent"
    },
    "empty": {
      "description": "Create an agent to handle complex tasks with AI-powered tools",
      "title": "No agents yet"
    },
    "get": {
      "error": {
        "failed": "Failed to get the agent.",
        "null_id": "Agent ID is null."
      }
    },
    "gitBash": {
      "autoDetected": "Using auto-detected Git Bash",
      "autoDiscoveredHint": "Auto-discovered",
      "clear": {
        "button": "Clear custom path"
      },
      "customPath": "Using custom path: {{path}}",
      "error": {
        "description": "Git Bash is required to run agents on Windows. The agent cannot function without it. Please install Git for Windows from",
        "recheck": "Recheck Git Bash Installation",
        "required": "Git Bash path is required on Windows",
        "title": "Git Bash Required"
      },
      "found": {
        "title": "Git Bash configured"
      },
      "notFound": "Git Bash not found. Please install it first.",
      "pick": {
        "button": "Select Git Bash Path",
        "failed": "Failed to set Git Bash path",
        "invalidPath": "Selected file is not a valid Git Bash executable (bash.exe).",
        "title": "Select Git Bash executable"
      },
      "placeholder": "Select bash.exe path",
      "success": "Git Bash detected successfully!",
      "tooltip": "Git Bash is required to run agents on Windows. Install from git-scm.com if not available."
    },
    "home": {
      "welcome_title": "What shall we talk about today?"
    },
    "input": {
      "placeholder": "Enter your message here, send with {{key}} - @ select path, / select command",
      "soul_placeholder": "Help me connect to Telegram"
    },
    "list": {
      "error": {
        "failed": "Failed to list agents."
      }
    },
    "pin": {
      "title": "Pin Agent"
    },
    "preview_pane": {
      "close": "Close preview",
      "code": "Code",
      "code_unavailable": "Source view not available for binary files",
      "default_app": "Default app",
      "empty": {
        "description": "Start chatting with the agent; generated code and live previews will appear here.",
        "title": "Ready"
      },
      "excel": {
        "errors": {
          "file_too_large": "This Excel file exceeds the preview size limit.",
          "invalid_request": "The Excel preview request is invalid.",
          "parse_failed": "Unable to read this Excel file.",
          "too_complex": "This Excel file is too complex to preview.",
          "unsupported_extension": "Only .xlsx and .xlsm files can be previewed.",
          "unsupported_xls": "Legacy .xls files are not supported by Excel preview."
        },
        "warnings": {
          "generic": "Some workbook content may not be fully shown.",
          "title": "Preview notice",
          "unsupported_images": "Images are not shown in Excel preview yet."
        }
      },
      "file_tree": "File tree",
      "items_one": "{{count}} item",
      "items_other": "{{count}} items",
      "maximize": "Maximize",
      "minimize": "Minimize",
      "no_search_results": "No files match your search",
      "office": {
        "description": "This file type needs to be opened with the system default app.",
        "title": "Opening {{extension}} files here is not supported yet"
      },
      "preview": "Preview",
      "refresh": "Refresh",
      "search_placeholder": "Search files...",
      "select_file": "Select a file to preview",
      "toggle": "Show preview panel",
      "too_large": {
        "description": "File exceeds the {{limit}} preview limit.",
        "title": "File too large to preview"
      },
      "unavailable": {
        "description": "This file couldn't be opened — it may have been moved or deleted.",
        "title": "File unavailable"
      },
      "word": {
        "errors": {
          "parse_failed": "Unable to render this Word document.",
          "read_failed": "Unable to read this Word document."
        }
      }
    },
    "reorder": {
      "error": {
        "failed": "Failed to reorder agents"
      }
    },
    "right_pane": {
      "close": "Close",
      "flow": {
        "empty": {
          "description": "Select an agent tool call to inspect its child message flow.",
          "title": "No tool selected"
        },
        "no_messages": {
          "description": "This tool call has no captured child message flow.",
          "title": "No messages"
        }
      },
      "info": {
        "artifacts": "Deliverables",
        "context_categories": {
          "autocompact_buffer": "Autocompact buffer",
          "custom_agents": "Custom agents",
          "free_space": "Free space",
          "mcp_tools": "MCP tools",
          "memory_files": "Memory files",
          "messages": "Messages",
          "plugins": "Plugins",
          "skills": "Skills",
          "system_prompt": "System prompt",
          "system_tools": "System tools"
        },
        "context_usage": "Context usage",
        "label": "Session information",
        "more": "+{{count}} more",
        "no_artifacts": "No declared deliverables",
        "no_subagents": "No sub-agents",
        "subagents": "Sub-agents"
      },
      "status": {
        "activity": "Activity",
        "agent": "Agent",
        "context": "Context",
        "no_tasks": "No active tasks",
        "selected_tool": "Selected tool",
        "task_count": "{{completed}} / {{total}} complete",
        "tasks": "Tasks",
        "tools_active": "Active",
        "tools_done": "Done",
        "tools_failed": "Failed",
        "tools_total": "Total",
        "workspace": "Workspace"
      },
      "tabs": {
        "files": "Files",
        "flow": "Flow",
        "status": "Status"
      }
    },
    "server": {
      "error": {
        "not_running": "The API server is enabled but not running properly."
      }
    },
    "session": {
      "accessible_paths": {
        "add": "Add directory",
        "default_hint": "A default workspace will be created automatically if not specified.",
        "duplicate": "This directory is already included.",
        "empty": "Select at least one directory that the agent can access.",
        "error": {
          "at_least_one": "Please select at least one accessible directory."
        },
        "label": "Accessible directories",
        "select_failed": "Failed to select directory."
      },
      "add": {
        "title": "Add a session"
      },
      "agent": {
        "delete": {
          "content": "Deleting this agent's tasks will delete all tasks associated with this agent. The agent itself will not be deleted.",
          "error": {
            "failed": "Failed to delete agent tasks"
          },
          "title": "Delete agent tasks",
          "trigger": "Delete agent tasks"
        }
      },
      "allowed_tools": {
        "empty": "No tools available for this agent.",
        "helper": "Pre-approved tools run without manual approval. Unselected tools require approval before use.",
        "label": "Pre-approved tools",
        "placeholder": "Select pre-approved tools"
      },
      "create": {
        "error": {
          "failed": "Failed to add a session"
        }
      },
      "delete": {
        "content": "Are you sure to delete this session?",
        "error": {
          "failed": "Failed to delete the session",
          "last": "At least one session must be kept"
        },
        "title": "Delete session"
      },
      "display": {
        "agent": "Agent",
        "time": "Time",
        "title": "Display mode",
        "workdir": "Work directory"
      },
      "edit": {
        "title": "Edit session"
      },
      "empty": {
        "description": "Tasks will appear here after you start one.",
        "title": "No tasks yet"
      },
      "file_manager": {
        "file_explorer": "File Explorer",
        "files": "Files",
        "finder": "Finder"
      },
      "get": {
        "error": {
          "failed": "Failed to get the session",
          "not_found": "Task not found",
          "null_id": "Session ID is null"
        }
      },
      "group": {
        "collapse": "Collapse display",
        "collapse_all": "Collapse all",
        "conversation": "Conversations",
        "drag_hint": "Drag to reorder. Drag tasks to adjust display and hidden groups.",
        "earlier": "Earlier",
        "expand_all": "Expand all",
        "no_workdir": "No work directory",
        "show_more": "Expand display",
        "this_week": "This week",
        "today": "Today",
        "unknown_agent": "Unknown agent",
        "yesterday": "Yesterday"
      },
      "label_one": "Session",
      "label_other": "Sessions",
      "list": {
        "title": "Tasks"
      },
      "pin": {
        "title": "Pin task"
      },
      "reorder": {
        "error": {
          "failed": "Failed to reorder sessions"
        }
      },
      "search": {
        "placeholder": "Search tasks"
      },
      "unpin": {
        "title": "Unpin task"
      },
      "update": {
        "error": {
          "failed": "Failed to update the session"
        }
      },
      "workdir": {
        "delete": {
          "content": "Deleting this work directory will also delete all tasks under it. Only database records are removed; the actual folder on disk will not be deleted.",
          "error": {
            "failed": "Failed to delete the work directory"
          },
          "title": "Delete work directory",
          "trigger": "Delete work directory"
        },
        "rename": {
          "error": {
            "failed": "Failed to rename the work directory"
          },
          "title": "Rename work directory",
          "trigger": "Rename work directory"
        }
      },
      "workspace_selector": {
        "create_failed": "Failed to add work directory.",
        "create_new": "Add new work directory",
        "empty_text": "No work directories",
        "no_project": "No work directory",
        "placeholder": "Select work directory",
        "search_placeholder": "Search work directories",
        "select_failed": "Failed to select folder."
      },
      "workspace_status": {
        "inaccessible": "Workspace path is not accessible: {{path}}",
        "missing": "Workspace path does not exist: {{path}}",
        "not_directory": "Workspace path is not a directory: {{path}}"
      }
    },
    "settings": {
      "advance": {
        "envVars": {
          "description": "Set custom environment variables for the agent runtime.",
          "helper": "Enter custom environment variables (one per line, format: KEY=value)",
          "label": "Environment Variables"
        },
        "maxTurns": {
          "description": "Define how many request/response cycles the agent may complete automatically.",
          "helper": "Higher values enable longer autonomous runs; lower values keep sessions short.",
          "label": "Conversation turn limit"
        },
        "permissionMode": {
          "description": "Control how the agent handles actions that require approval.",
          "label": "Permission mode",
          "options": {
            "acceptEdits": "Accept edits automatically",
            "bypassPermissions": "Bypass permission checks",
            "default": "Default (ask before continuing)",
            "plan": "Planning mode (requires plan approval)"
          },
          "placeholder": "Choose a permission behavior"
        },
        "title": "Advanced Settings"
      },
      "essential": "Essential Settings",
      "permissionMode": {
        "tab": "Permission Mode",
        "title": "Permission Mode"
      },
      "plugins": {
        "available": {
          "title": "Available Plugins"
        },
        "confirm": {
          "uninstall": "Are you sure you want to uninstall this plugin?"
        },
        "empty": {
          "available": "No plugins found matching your filters. Try adjusting your search or category filters."
        },
        "error": {
          "install": "Failed to install plugin",
          "load": "Failed to load plugins",
          "load_more": "Failed to load more plugins",
          "uninstall": "Failed to uninstall plugin"
        },
        "filter": {
          "all": "All Categories"
        },
        "install": {
          "button": "Install",
          "title": "Install Plugins"
        },
        "installed": {
          "empty": "No skills installed yet. Browse available skills to get started.",
          "title": "Installed Skills"
        },
        "installing": "Installing...",
        "plugin_upload": {
          "all_failed": "All {{failed}} components failed to install",
          "error": "Installation failed",
          "format_hint": "Supports skill packages (.claude-plugin/plugin.json)",
          "hint": "Drag and drop skill ZIP here, or click to select",
          "invalid_format": "Please upload a ZIP file",
          "partial_success": "Installed {{installed}} components, {{failed}} failed",
          "select_folder": "Select Folder",
          "select_folder_title": "Select Plugin Folder",
          "success": "Plugin \"{{name}}\" installed successfully ({{count}} components)",
          "success_multi": "Installed {{count}} components from {{packages}} packages",
          "uploading": "Uploading and installing..."
        },
        "results": "{{count}} plugin(s) found",
        "search": {
          "placeholder": "Search plugins..."
        },
        "standalone_plugins": "Standalone Plugins",
        "success": {
          "install": "Plugin installed successfully",
          "uninstall": "Plugin uninstalled successfully",
          "uninstall_package": "Package \"{{name}}\" uninstalled successfully"
        },
        "tab": "Plugins",
        "type": {
          "agent": "Agent",
          "agents": "Agents",
          "all": "All",
          "command": "Command",
          "commands": "Commands",
          "skills": "Skills"
        },
        "uninstall": "Uninstall",
        "uninstall_package": "Uninstall Package",
        "uninstall_package_confirm": "Are you sure you want to uninstall the entire \"{{name}}\" package? This will remove {{count}} component(s).",
        "uninstalling": "Uninstalling..."
      },
      "prompt": "Prompt Settings",
      "skills": {
        "addMore": "Add More Skills",
        "builtin": "Built-in",
        "noFilterResults": "No matching skills",
        "noSkills": "No skills installed. Install skills from Settings > Skills.",
        "searchPlaceholder": "Search skills...",
        "tab": "Skills",
        "title": "Installed Skills"
      },
      "soulMode": {
        "description": "When enabled, the agent uses a custom system prompt from workspace soul files, injects autonomous task management tools, and disables interactive tools not suited for autonomous operation.",
        "disabledBadge": "Disabled by Autonomous Mode",
        "disabledTooltip": "This tool is automatically disabled when Autonomous Mode is active",
        "title": "Autonomous Mode"
      },
      "tooling": {
        "mcp": {
          "description": "Connect MCP servers to unlock additional tools you can approve above.",
          "empty": "No MCP servers detected. Add one from the MCP settings page.",
          "inactiveTooltip": "This MCP server is not active. Please start it first.",
          "manageHint": "Need advanced configuration? Visit Settings → MCP Servers.",
          "toggle": "Toggle {{name}}"
        },
        "permissionMode": {
          "acceptEdits": {
            "description": "Can read and edit files freely. Asks before running commands.",
            "title": "Auto-edit Mode"
          },
          "bypassPermissions": {
            "description": "Can do everything without asking. Use with caution.",
            "title": "Full Auto Mode",
            "warning": "Use with caution — all tools will run without asking for approval."
          },
          "confirmChange": {
            "description": "Switching modes updates the automatically approved tools.",
            "title": "Change permission mode?"
          },
          "default": {
            "description": "Can read files freely. Asks before editing or running commands.",
            "title": "Normal Mode"
          },
          "helper": "Choose how the agent handles tool approvals.",
          "placeholder": "Select permission mode",
          "plan": {
            "description": "Can only read files and make plans. Cannot edit files or run commands.",
            "title": "Plan Mode"
          },
          "title": "Permission mode"
        },
        "preapproved": {
          "autoBadge": "Added by mode",
          "autoDescription": "This tool is auto-approved by the current permission mode.",
          "autoDisabledTooltip": "Auto-approved by \"{{mode}}\" and cannot be disabled.",
          "empty": "No tools match your filters.",
          "mcpBadge": "MCP tool",
          "requiresApproval": "Requires approval when disabled",
          "search": "Search tools",
          "toggle": "Toggle {{name}}"
        }
      },
      "tools": {
        "approved": "approved",
        "caution": "Pre-approved tools bypass human review. Enable only trusted tools.",
        "description": "Choose which tools can run without manual approval.",
        "requiresPermission": "Requires permission when not pre-approved.",
        "tab": "Pre-approved tools",
        "title": "Pre-approved tools",
        "toggle": "{{defaultValue}}"
      },
      "toolsMcp": {
        "mcp": {
          "tab": "MCP",
          "title": "MCP Servers"
        },
        "tab": "Tools",
        "tools": {
          "title": "Pre-approved Tools"
        }
      }
    },
    "sidebar_title": "Agents",
    "todo": {
      "mock": {
        "actions": {
          "complete": "Complete",
          "dismiss": "Dismiss"
        },
        "details": {
          "addRouter": {
            "summary": "Configuring client routing with react-router-dom v6...",
            "title": "Add React Router"
          },
          "configureProject": {
            "resources": {
              "createdMeta": "created",
              "postcssConfig": "postcss.config.js",
              "tailwindConfig": "tailwind.config.js",
              "updatedMeta": "updated",
              "viteConfig": "vite.config.ts - port 3001"
            },
            "title": "Configure project"
          },
          "installDependencies": {
            "resources": {
              "dependenciesMeta": "dependencies",
              "devDependenciesMeta": "devDependencies",
              "reactDeps": "react@18.3.1, react-dom@18.3.1",
              "tailwindDeps": "tailwindcss@3.4.4, postcss@8.4.38",
              "typescriptDeps": "typescript@5.4.5, vite@5.3.0"
            },
            "summary": "Installed react, react-dom, tailwindcss, postcss, autoprefixer, and TypeScript.",
            "title": "Install dependencies"
          },
          "reviewReferences": {
            "collectionTitle": "Reviewed references",
            "resources": {
              "npmCreateVite": "npm create vite - Official Scaffolding",
              "npmMeta": "npmjs.com",
              "reactDocs": "React Documentation - Quick Start",
              "reactMeta": "react.dev",
              "tailwindDocs": "Tailwind CSS - Installation Guide",
              "tailwindMeta": "tailwindcss.com",
              "viteDocs": "Vite - Next Generation Frontend Tooling",
              "viteMeta": "vitejs.dev"
            },
            "title": "Review references"
          },
          "searchWeb": {
            "resources": {
              "reactViteQuery": "React Vite TypeScript starter 2025 best practices"
            },
            "summary": "Collected current references for React + Vite scaffolding and best practices.",
            "title": "Search web references"
          },
          "title": "Execution details",
          "writeComponents": {
            "collectionTitle": "Created files",
            "resources": {
              "app": "src/App.tsx",
              "button": "src/components/Button.tsx",
              "card": "src/components/Card.tsx",
              "footer": "src/components/Footer.tsx",
              "header": "src/components/Header.tsx",
              "layout": "src/components/Layout.tsx",
              "modifiedMeta": "modified",
              "newMeta": "new",
              "updatedMeta": "updated"
            },
            "title": "Write components"
          },
          "writePages": {
            "resources": {
              "about": "src/pages/About.tsx",
              "home": "src/pages/Home.tsx",
              "newMeta": "new"
            },
            "title": "Write pages"
          }
        },
        "progress": "{{completed}}/{{total}} tasks completed",
        "tasks": {
          "addLinting": "Add ESLint + Prettier",
          "addRouter": "Add React Router",
          "buildDeploy": "Build and deploy",
          "configureProject": "Configure project",
          "finish": "Finish",
          "installDependencies": "Install dependencies",
          "reviewReferences": "Review references",
          "searchWeb": "Search web references",
          "writeComponents": "Write components",
          "writePages": "Write pages"
        },
        "title": "Tasks"
      },
      "panel": {
        "title": "{{completed}}/{{total}} tasks completed"
      },
      "status": {
        "completed": "Completed",
        "in_progress": "In Progress",
        "pending": "Pending"
      }
    },
    "toolPermission": {
      "aria": {
        "allowAllRequest": "Always allow this tool",
        "allowRequest": "Allow tool request",
        "denyRequest": "Deny tool request",
        "hideDetails": "Hide tool details",
        "runWithOptions": "Run with additional options",
        "showDetails": "Show tool details"
      },
      "button": {
        "allow": "Allow",
        "allowAll": "Always Allow",
        "cancel": "Cancel",
        "deny": "Deny",
        "run": "Run"
      },
      "confirmation": "Are you sure you want to run this Claude tool?",
      "defaultDenyMessage": "User denied permission for this tool.",
      "defaultDescription": "Executes code or system actions in your environment. Make sure the command looks safe before running it.",
      "error": {
        "sendFailed": "Failed to send your decision. Please try again."
      },
      "executing": "Executing...",
      "expired": "Expired",
      "inputPreview": "Tool input preview",
      "pending": "Waiting for approval",
      "permissionExpired": "Permission request expired. Waiting for new instructions...",
      "requiresElevatedPermissions": "This tool requires elevated permissions.",
      "suggestion": {
        "permissionUpdateMultiple": "Approving may update multiple session permissions if you chose to always allow this tool.",
        "permissionUpdateSingle": "Approving may update your session permissions if you chose to always allow this tool."
      },
      "toast": {
        "denied": "Tool request was denied.",
        "timeout": "Tool request timed out before receiving approval."
      },
      "toolPendingFallback": "Tool",
      "waiting": "Waiting for tool permission decision..."
    },
    "tools": {
      "builtin": {
        "AgentMemory": {
          "description": "Stores and recalls cross-session memory",
          "label": "Memory"
        },
        "Bash": {
          "description": "Executes shell commands in your environment",
          "label": "Bash"
        },
        "CherryKbSearch": {
          "description": "Searches your knowledge bases",
          "label": "Knowledge Search"
        },
        "CherryWebFetch": {
          "description": "Fetches and reads a web page",
          "label": "Web Fetch"
        },
        "CherryWebSearch": {
          "description": "Searches the web via your configured provider",
          "label": "Web Search"
        },
        "ClawCron": {
          "description": "Manages the in-app scheduler",
          "label": "Scheduler"
        },
        "Edit": {
          "description": "Makes targeted edits to specific files",
          "label": "Edit"
        },
        "Glob": {
          "description": "Finds files based on pattern matching",
          "label": "Glob"
        },
        "Grep": {
          "description": "Searches for patterns in file contents",
          "label": "Grep"
        },
        "MultiEdit": {
          "description": "Performs multiple edits on a single file atomically"
        },
        "NotebookEdit": {
          "description": "Modifies Jupyter notebook cells"
        },
        "NotebookRead": {
          "description": "Reads and displays Jupyter notebook contents"
        },
        "Read": {
          "description": "Reads the contents of files",
          "label": "Read"
        },
        "Task": {
          "description": "Runs a sub-agent to handle complex, multi-step tasks"
        },
        "TodoWrite": {
          "description": "Creates and manages structured task lists"
        },
        "ToolSearch": {
          "description": "Discovers deferred tools from large libraries"
        },
        "WebFetch": {
          "description": "Fetches content from a specified URL"
        },
        "WebSearch": {
          "description": "Performs web searches with domain filtering"
        },
        "Workflow": {
          "description": "Runs a multi-step workflow that orchestrates subagents",
          "label": "Workflow"
        },
        "Write": {
          "description": "Creates or overwrites files",
          "label": "Write"
        }
      }
    },
    "type": {
      "label": "Agent Type",
      "unknown": "Unknown Type"
    },
    "unpin": {
      "title": "Unpin Agent"
    },
    "update": {
      "error": {
        "failed": "Failed to update the agent"
      }
    },
    "warning": {
      "enable_and_start": "Enable & Start",
      "enable_server": "Enable API Gateway to use agents.",
      "enable_server_description": "The API Gateway must be enabled for agents to work. You can enable it directly or configure it in settings.",
      "server_not_running": "API Gateway is enabled but not running. Please check the server configuration.",
      "server_not_running_description": "The API Gateway needs to be running for agents to work. You can start it directly or check the settings."
    }
  },
  "apiGateway": {
    "actions": {
      "copy": "Copy",
      "regenerate": "Regenerate",
      "restart": {
        "button": "Restart",
        "tooltip": "Restart Gateway"
      },
      "start": "Start",
      "stop": "Stop"
    },
    "authHeader": {
      "title": "Authorization Header"
    },
    "authHeaderText": "Use in Authorization header:",
    "configuration": "Configuration",
    "description": "Expose Cherry Studio's AI capabilities through OpenAI- and Anthropic-compatible HTTP APIs",
    "documentation": {
      "title": "API Documentation"
    },
    "fields": {
      "apiKey": {
        "copyTooltip": "Copy API Key",
        "description": "Secure authentication token for API access",
        "label": "API Key",
        "placeholder": "API key will be auto-generated"
      },
      "port": {
        "description": "TCP port number for the gateway (1000-65535)",
        "helpText": "Stop the gateway to change port",
        "label": "Port"
      },
      "url": {
        "copyTooltip": "Copy URL",
        "label": "URL"
      }
    },
    "messages": {
      "apiKeyCopied": "API Key copied to clipboard",
      "apiKeyRegenerated": "API Key regenerated",
      "notEnabled": "The API Gateway is not enabled.",
      "operationFailed": "API Gateway operation failed: ",
      "restartError": "Failed to restart API Gateway: ",
      "restartFailed": "API Gateway restart failed: ",
      "restartSuccess": "API Gateway restarted successfully",
      "startError": "Failed to start API Gateway: ",
      "startSuccess": "API Gateway started successfully",
      "stopError": "Failed to stop API Gateway: ",
      "stopSuccess": "API Gateway stopped successfully",
      "urlCopied": "Gateway URL copied to clipboard"
    },
    "status": {
      "running": "Running",
      "stopped": "Stopped"
    },
    "title": "API Gateway"
  },
  "appMenu": {
    "about": "About",
    "close": "Close Window",
    "copy": "Copy",
    "cut": "Cut",
    "delete": "Delete",
    "documentation": "Documentation",
    "edit": "Edit",
    "feedback": "Feedback",
    "file": "File",
    "forceReload": "Force Reload",
    "front": "Bring All to Front",
    "help": "Help",
    "hide": "Hide",
    "hideOthers": "Hide Others",
    "minimize": "Minimize",
    "paste": "Paste",
    "quit": "Quit",
    "redo": "Redo",
    "releases": "Releases",
    "reload": "Reload",
    "resetZoom": "Actual Size",
    "selectAll": "Select All",
    "services": "Services",
    "toggleDevTools": "Toggle Developer Tools",
    "toggleFullscreen": "Toggle Fullscreen",
    "undo": "Undo",
    "unhide": "Show All",
    "view": "View",
    "website": "Website",
    "window": "Window",
    "zoom": "Zoom",
    "zoomIn": "Zoom In",
    "zoomOut": "Zoom Out"
  },
  "assistants": {
    "abbr": "Assistants",
    "clear": {
      "content": "Clearing the topic will delete all topics and files in the assistant. Are you sure you want to continue?",
      "menu_title": "Delete all assistant conversations",
      "title": "Clear topics"
    },
    "copy": {
      "title": "Copy Assistant"
    },
    "delete": {
      "content": "Deleting an assistant will delete all topics and files under the assistant. Are you sure you want to delete it?",
      "error": {
        "remain_one": "Not allowed to delete the last one assistant"
      },
      "title": "Delete Assistant"
    },
    "edit": {
      "title": "Edit Assistant"
    },
    "icon": {
      "type": "Assistant Icon"
    },
    "list": {
      "showByList": "List View",
      "showByTags": "Tag View"
    },
    "pin": {
      "title": "Pin Assistant"
    },
    "presets": {
      "add": {
        "button": "Add to Assistant",
        "knowledge_base": {
          "label": "Knowledge Base",
          "placeholder": "Select Knowledge Base"
        },
        "name": {
          "label": "Name",
          "placeholder": "Enter name"
        },
        "prompt": {
          "label": "Prompt",
          "placeholder": "Enter prompt",
          "variables": {
            "tip": {
              "content": "{{date}}:\tDate\n{{time}}:\tTime\n{{datetime}}:\tDate and time\n{{system}}:\tOperating system\n{{arch}}:\tCPU architecture\n{{language}}:\tLanguage\n{{model_name}}:\tModel name\n{{username}}:\tUsername",
              "title": "Available variables"
            }
          }
        },
        "title": "Create Assistant",
        "unsaved_changes_warning": "You have unsaved changes. Are you sure you want to close?"
      },
      "delete": {
        "popup": {
          "content": "Are you sure you want to delete this assistant?"
        }
      },
      "edit": {
        "model": {
          "select": {
            "title": "Select Model"
          }
        },
        "title": "Edit Assistant"
      },
      "export": {
        "agent": "Export Assistant"
      },
      "import": {
        "action": "Import Assistant",
        "button": "Import",
        "error": {
          "fetch_failed": "Failed to fetch from URL",
          "file_required": "Please select a file first",
          "invalid_format": "Invalid assistant format: missing required fields",
          "url_required": "Please enter a URL"
        },
        "file_filter": "JSON Files",
        "select_file": "Select File",
        "subscribe": {
          "title": "Agent Subscription",
          "url_placeholder": "Subscription URL"
        },
        "title": "Import from External",
        "type": {
          "file": "File",
          "url": "URL"
        },
        "url_placeholder": "Enter JSON URL"
      },
      "manage": {
        "batch_delete": {
          "button": "Delete",
          "confirm": "Are you sure you want to delete the selected {{count}} assistants?"
        },
        "batch_export": {
          "button": "Export"
        },
        "mode": {
          "manage": "Manage",
          "sort": "Sort"
        },
        "title": "Manage Assistants"
      },
      "my_agents": "My Assistants",
      "search": {
        "no_results": "No results found"
      },
      "settings": {
        "title": "Assistant Setting"
      },
      "sorting": {
        "title": "Sorting"
      },
      "tag": {
        "agent": "Assistant",
        "default": "Default",
        "new": "New",
        "system": "System"
      },
      "title": "Assistants Library"
    },
    "reorder": {
      "error": {
        "failed": "Failed to reorder assistants"
      }
    },
    "save": {
      "success": "Saved successfully",
      "title": "Save to assistant library"
    },
    "search": "Search assistants...",
    "settings": {
      "default_model": "Default Model",
      "knowledge_base": {
        "label": "Knowledge Base Settings",
        "recognition": {
          "label": "Use Knowledge Base",
          "off": "Force Search",
          "on": "Intent Recognition",
          "tip": "The assistant will use the large model's intent recognition capability to determine whether to use the knowledge base for answering. This feature will depend on the model's capabilities"
        }
      },
      "max_tool_calls": {
        "label": "Max Tool Calls",
        "tip": "Maximum number of tool calls allowed in a single conversation. Higher values allow more complex multi-step operations but may increase token usage and response time."
      },
      "mcp": {
        "description": "Default enabled MCP servers",
        "enableFirst": "Enable this server in MCP settings first",
        "label": "MCP Servers",
        "mode": {
          "auto": {
            "description": "AI discovers and uses tools automatically",
            "label": "Auto"
          },
          "disabled": {
            "description": "No MCP tools",
            "label": "Disabled"
          },
          "manual": {
            "description": "Select specific MCP servers",
            "label": "Manual"
          }
        },
        "noServersAvailable": "No MCP servers available. Add servers in settings",
        "title": "MCP Settings"
      },
      "model": "Model Settings",
      "more": "Assistant Settings",
      "prompt": "Prompt Settings",
      "reasoning_effort": {
        "auto": "Auto",
        "auto_description": "Flexibly determine reasoning effort",
        "default": "Default",
        "default_description": "Depend on the model's default behavior, without any configuration.",
        "high": "High",
        "high_description": "High level reasoning",
        "label": "Reasoning effort",
        "low": "Low",
        "low_description": "Low level reasoning",
        "medium": "Medium",
        "medium_description": "Medium level reasoning",
        "minimal": "Minimal",
        "minimal_description": "Minimal reasoning",
        "off": "Off",
        "off_description": "Disable reasoning",
        "xhigh": "Extra High",
        "xhigh_description": "Extra high level reasoning"
      },
      "regular_phrases": {
        "add": "Add Phrase",
        "contentLabel": "Content",
        "contentPlaceholder": "Please enter phrase content, support using variables, and press Tab to quickly locate the variable to modify. For example: \nHelp me plan a route from ${from} to ${to}, and send it to ${email}.",
        "delete": "Delete Phrase",
        "deleteConfirm": "Are you sure to delete this phrase?",
        "edit": "Edit Phrase",
        "title": "Regular Phrase",
        "titleLabel": "Title",
        "titlePlaceholder": "Enter title"
      },
      "title": "Assistant Settings",
      "tool_use_mode": {
        "function": "Function",
        "label": "Tool Use Mode",
        "prompt": "Prompt"
      }
    },
    "tags": {
      "add": "Add Tag",
      "delete": "Delete Tag",
      "deleteConfirm": "Are you sure to delete this tag?",
      "manage": "Tag Management",
      "modify": "Modify Tag",
      "none": "No tags",
      "settings": {
        "title": "Tag Settings"
      },
      "untagged": "Untagged"
    },
    "title": "Assistants",
    "unpin": {
      "title": "Unpin Assistant"
    }
  },
  "auth": {
    "error": "API key automatically obtained failed, please get it manually",
    "get_key": "Get",
    "get_key_success": "API key automatically obtained successfully",
    "login": "Login",
    "oauth_button": "Auth with {{provider}}"
  },
  "backup": {
    "confirm": {
      "button": "Select Backup Location",
      "label": "Are you sure you want to backup data?"
    },
    "content": "Backup all data, including chat history, settings, and knowledge base. Please note that the backup process may take some time, thank you for your patience.",
    "progress": {
      "completed": "Backup completed",
      "compressing": "Compressing files...",
      "copying_database": "Copying database...",
      "copying_files": "Copying files... {{progress}}%",
      "preparing": "Preparing backup...",
      "preparing_compression": "Preparing compression...",
      "title": "Backup Progress",
      "writing_data": "Writing data..."
    },
    "title": "Data Backup"
  },
  "button": {
    "add": "Add",
    "added": "Added",
    "case_sensitive": "Case Sensitive",
    "collapse": "Collapse",
    "download": "Download",
    "includes_user_questions": "Include Your Questions",
    "manage": "Manage",
    "select_assistant": "Select Assistant",
    "select_model": "Select Model",
    "show": {
      "all": "Show All"
    },
    "update_available": "Update Available",
    "whole_word": "Whole Word"
  },
  "chat": {
    "add": {
      "assistant": {
        "description": "Daily conversations and quick Q&A",
        "title": "Add Assistant"
      },
      "option": {
        "title": "Select Type"
      },
      "topic": {
        "title": "New Topic"
      }
    },
    "alerts": {
      "create_agent": "Create an agent to get started",
      "create_session": "Create a session",
      "select_agent": "Select an agent"
    },
    "artifacts": {
      "button": {
        "download": "Download",
        "openExternal": "Open in external browser",
        "preview": "Preview"
      },
      "preview": {
        "openExternal": {
          "error": {
            "content": "Error opening the external browser."
          }
        }
      },
      "title": "Deliverables"
    },
    "assistant": {
      "search": {
        "placeholder": "Search"
      }
    },
    "conversation": {
      "new": "New Chat"
    },
    "deeply_thought": "Deeply thought ({{seconds}} seconds)",
    "default": {
      "description": "Hello, I'm Default Assistant. You can start chatting with me right away",
      "name": "Default Assistant",
      "topic": {
        "name": "Default Topic"
      }
    },
    "history": {
      "assistant_node": "Assistant",
      "click_to_navigate": "Click to navigate to the message",
      "coming_soon": "Chat workflow diagram coming soon",
      "no_messages": "No Messages Found",
      "start_conversation": "Start a conversation to see the chat flow diagram",
      "title": "Chat History",
      "user_node": "User",
      "view_full_content": "View Full Content"
    },
    "home": {
      "welcome_title": "What shall we talk about today?"
    },
    "input": {
      "auto_resize": "Auto resize height",
      "cancel_editing": "Cancel editing",
      "clear": {
        "content": "Do you want to clear all messages of the current topic?",
        "label": "Clear",
        "title": "Clear all messages?"
      },
      "collapse": "Collapse",
      "context_count": {
        "tip": "Context / Max Context"
      },
      "editing": "Editing",
      "editing_message": "Editing sent message",
      "estimated_tokens": {
        "tip": "Estimated tokens"
      },
      "expand": "Expand",
      "file_error": "Error processing file",
      "file_not_supported": "Model does not support this file type",
      "file_not_supported_count": "{{count}} files are not supported",
      "followup_queue": {
        "edit": "Edit",
        "pause": "Pause auto-send",
        "remove": "Remove",
        "resume": "Resume auto-send",
        "steer": "Send into current turn",
        "title": "Queued ({{count}})"
      },
      "generate_image": "Generate image",
      "generate_image_not_supported": "The model does not support generating images.",
      "knowledge_base": "Knowledge Base",
      "knowledge_base_disabled_by_files": "Remove attached files to use Knowledge Base",
      "knowledge_base_unavailable": "Select a tool-capable model or enable prompt tool use",
      "locate_editing_message": "Locate original message",
      "mcp_unavailable": "Select a tool-capable model or enable prompt tool use",
      "new": {
        "context": "Clear Context"
      },
      "new_session": "New Session {{Command}}",
      "new_topic": "New Topic {{Command}}",
      "paste_text_file": "Paste into input",
      "pasted_text_file_name": "Pasted text.txt",
      "pause": "Pause",
      "placeholder": "Type your message here, press {{key}} to send - @ to Select Model, / to Include Tools",
      "placeholder_without_triggers": "Type your message here, press {{key}} to send",
      "resource_panel": {
        "categories": {
          "agents": "Agents",
          "files": "Files",
          "skills": "Skills"
        },
        "description": "Select from files, agents, or skills",
        "loading": "Loading...",
        "no_file_found": {
          "description": "No files available in accessible directories",
          "label": "No File Found"
        },
        "no_items_found": {
          "description": "No files, agents, or skills available",
          "label": "No Items Found"
        },
        "title": "Resources"
      },
      "send": "Send",
      "send_failed": "Failed to send message",
      "settings": "Settings",
      "slash_commands": {
        "commands": {
          "clear": "Clear conversation history",
          "compact": "Compact conversation with optional focus instructions",
          "context": "Visualize current context usage as a colored grid",
          "cost": "Show token usage statistics (see cost tracking guide for subscription-specific details)",
          "todos": "List current todo items"
        },
        "description": "Agent session slash commands",
        "title": "Slash Commands"
      },
      "thinking": {
        "budget_exceeds_max": "Thinking budget exceeds the maximum token number",
        "fixed_model": "Reasoning is fixed for this model",
        "label": "Thinking",
        "mode": {
          "custom": {
            "label": "Custom",
            "tip": "The maximum number of tokens the model can think. Need to consider the context limit of the model, otherwise an error will be reported"
          },
          "default": {
            "label": "Default",
            "tip": "The model will automatically determine the number of tokens to think"
          },
          "tokens": {
            "tip": "Set the number of thinking tokens to use."
          }
        },
        "unsupported_model": "Current model does not support adjustable reasoning"
      },
      "tools": {
        "collapse": "Collapse",
        "collapse_in": "Collapse",
        "collapse_out": "Remove from collapse",
        "expand": "Expand",
        "file_not_found": "File not found: {{path}}",
        "open_file": "Open File",
        "open_file_error": "Failed to open file: {{path}}",
        "reveal_in_finder": "Reveal in Finder"
      },
      "topics": " Topics ",
      "translate": "Translate to {{target_language}}",
      "translating": "Translating...",
      "upload": {
        "attachment": "Upload attachment",
        "document": "Upload document file (model does not support images)",
        "document_only": "Documents only",
        "image_not_supported": "This model does not support image uploads. Documents only.",
        "image_or_document": "Upload image or document file",
        "upload_from_local": "Upload local file..."
      },
      "url_context": "URL Context",
      "web_search": {
        "builtin": {
          "disabled_content": "The current model does not support web search",
          "enabled_content": "Use the built-in web search function of the model",
          "label": "Model Built-in"
        },
        "button": {
          "ok": "Go to Settings"
        },
        "enable": "Enable web search",
        "enable_content": "Need to check web search connectivity in settings first",
        "label": "Web Search",
        "no_web_search": {
          "description": "Do not enable web search",
          "label": "Disable Web Search"
        },
        "settings": "Web Search Settings"
      }
    },
    "mcp": {
      "error": {
        "parse_tool_call": "Unable to convert to a valid tool call format: {{toolCall}}"
      },
      "warning": {
        "gemini_web_search": "Gemini does not support using native web search tools and function calling simultaneously",
        "multiple_tools": "Multiple matching MCP tools exist, {{tool}} has been selected",
        "no_tool": "No matching MCP tool found for {{tool}}",
        "url_context": "Gemini does not support using url context and function calling simultaneously"
      }
    },
    "message": {
      "editing_current": "This message is being edited in the composer",
      "flow": {
        "branches": "branches",
        "copy_topic": {
          "created": "Copied to a new conversation",
          "label": "Copy as New Conversation"
        },
        "nodes": "nodes",
        "status": {
          "awaiting_input": "Awaiting input"
        },
        "title": "Branch Management"
      },
      "more": "More actions",
      "new": {
        "branch": {
          "created": "New Branch Created",
          "label": "New Branch"
        },
        "context": "New Context"
      },
      "quote": "Quote",
      "regenerate": {
        "model": "Switch Model"
      },
      "useful": {
        "label": "Set as context",
        "tip": "In this group of messages, this message will be selected to join the context"
      }
    },
    "multiple": {
      "select": {
        "empty": "No Messages Selected",
        "label": "Multiple Select"
      }
    },
    "navigation": {
      "bottom": "Back to bottom",
      "close": "Close",
      "first": "Already at the first message",
      "history": "Chat History",
      "last": "Already at the last message",
      "next": "Next Message",
      "prev": "Previous Message",
      "top": "Back to top"
    },
    "resend": "Resend",
    "save": {
      "file": {
        "title": "Save to Local File"
      },
      "knowledge": {
        "content": {
          "citation": {
            "description": "Includes web search and knowledge base reference information",
            "title": "Citations"
          },
          "code": {
            "description": "Includes standalone code blocks",
            "title": "Code Blocks"
          },
          "error": {
            "description": "Includes error messages during execution",
            "title": "Errors"
          },
          "file": {
            "description": "Includes attached files",
            "title": "Files"
          },
          "maintext": {
            "description": "Includes primary text content",
            "title": "Main Text"
          },
          "thinking": {
            "description": "Includes model reasoning content",
            "title": "Reasoning"
          },
          "tool_use": {
            "description": "Includes tool call parameters and execution results",
            "title": "Tool Usage"
          },
          "translation": {
            "description": "Includes translation content",
            "title": "Translations"
          }
        },
        "empty": {
          "no_content": "This message has no saveable content",
          "no_knowledge_base": "No knowledge bases available, please create one first"
        },
        "error": {
          "file_partial_failed": "{{count}} file(s) could not be saved",
          "invalid_base": "Selected knowledge base is not properly configured",
          "no_content_selected": "Please select at least one content type",
          "save_failed": "Save failed, please check knowledge base configuration"
        },
        "select": {
          "base": {
            "placeholder": "Please select a knowledge base",
            "title": "Select Knowledge Base"
          },
          "content": {
            "tip": "Selected {{count}} items, text types will be merged and saved as one note",
            "title": "Select content types to save"
          }
        },
        "title": "Save to Knowledge Base"
      },
      "label": "Save",
      "topic": {
        "knowledge": {
          "content": {
            "maintext": {
              "description": "Includes topic title and main text content from all messages"
            }
          },
          "empty": {
            "no_content": "This topic has no saveable content"
          },
          "error": {
            "save_failed": "Failed to save topic, please check knowledge base configuration"
          },
          "loading": "Analyzing topic content...",
          "menu_title": "Save to Knowledge Base",
          "select": {
            "content": {
              "label": "Select content types to save",
              "selected_tip": "Selected {{count}} items from {{messages}} messages",
              "tip": "Topic will be saved to knowledge base with complete conversation context"
            }
          },
          "success": "Topic successfully saved to knowledge base ({{count}} items)",
          "title": "Save Topic to Knowledge Base"
        }
      }
    },
    "settings": {
      "code": {
        "title": "Code Block Settings"
      },
      "code_collapsible": "Code block collapsible",
      "code_editor": {
        "autocompletion": "Autocompletion",
        "fold_gutter": "Fold gutter",
        "highlight_active_line": "Highlight active line",
        "keymap": "Keymap",
        "title": "Code Editor"
      },
      "code_execution": {
        "timeout_minutes": {
          "label": "Timeout",
          "tip": "The timeout time (minutes) of code execution"
        },
        "tip": "The run button will be displayed in the toolbar of executable code blocks, please do not execute dangerous code!",
        "title": "Code Execution"
      },
      "code_fancy_block": {
        "label": "Fancy code block",
        "tip": "Enable fancy style for code block, e.g., html card"
      },
      "code_image_tools": {
        "label": "Enable preview tools",
        "tip": "Enable preview tools for images rendered from code blocks such as mermaid"
      },
      "code_wrappable": "Code block wrappable",
      "context_count": {
        "label": "Context",
        "tip": "The number of previous messages to keep in the context."
      },
      "max": "Unlimited",
      "max_tokens": {
        "confirm": "Set max tokens",
        "confirm_content": "Set the maximum number of tokens the model can generate. Need to consider the context limit of the model, otherwise an error will be reported",
        "label": "Set max tokens",
        "tip": "The maximum number of tokens the model can generate. Need to consider the context limit of the model, otherwise an error will be reported"
      },
      "reset": "Reset",
      "set_as_default": "Apply to default assistant",
      "show_line_numbers": "Show line numbers in code",
      "temperature": {
        "label": "Temperature",
        "tip": "Higher values make the model more creative and unpredictable, while lower values make it more deterministic and precise."
      },
      "thought_auto_collapse": {
        "label": "Collapse Thought Content",
        "tip": "Automatically collapse thought content after thinking ends"
      },
      "top_p": {
        "label": "Top-P",
        "tip": "Default value is 1, the smaller the value, the less variety in the answers, the easier to understand, the larger the value, the larger the range of the AI's vocabulary, the more diverse"
      }
    },
    "suggestions": {
      "title": "Suggested Questions"
    },
    "thinking": "Thinking ({{seconds}} seconds)",
    "thinking_tokens": "~{{tokens}} tokens",
    "topics": {
      "auto_rename": "Auto Rename",
      "clear": {
        "title": "Clear Messages"
      },
      "copy": {
        "image": "Copy as image",
        "md": "Copy as markdown",
        "plain_text": "Copy as plain text (remove Markdown)",
        "title": "Copy"
      },
      "delete": {
        "shortcut": "Hold {{key}} to delete directly"
      },
      "display": {
        "assistant": "Assistant",
        "tag": "Tag",
        "time": "Time",
        "title": "Display mode"
      },
      "edit": {
        "placeholder": "Enter new name",
        "title": "Edit Name",
        "title_tip": "Tips: Double-click the topic name to rename it directly in place"
      },
      "empty": {
        "description": "Create a chat and it will stay here so you can continue with its context later.",
        "title": "No chats yet"
      },
      "export": {
        "failed": "Export failed",
        "image": "Export as image",
        "image_exporting_keep_page": "Exporting image. Please stay on this page.",
        "image_saved": "Image saved successfully",
        "joplin": "Export to Joplin",
        "md": {
          "label": "Export as markdown",
          "reason": "Export as Markdown (with reasoning)"
        },
        "notes": "Export to Notes",
        "notion": "Export to Notion",
        "obsidian": "Export to Obsidian",
        "obsidian_atributes": "Configure Note Attributes",
        "obsidian_btn": "Confirm",
        "obsidian_created": "Creation Time",
        "obsidian_created_placeholder": "Please select the creation time",
        "obsidian_export_failed": "Export failed",
        "obsidian_export_success": "Export success",
        "obsidian_fetch_error": "Failed to fetch Obsidian vaults",
        "obsidian_fetch_folders_error": "Failed to fetch folder structure",
        "obsidian_loading": "Loading...",
        "obsidian_no_vault_selected": "Please select a vault first",
        "obsidian_no_vaults": "No Obsidian vaults found",
        "obsidian_operate": "Operation Method",
        "obsidian_operate_append": "Append",
        "obsidian_operate_new_or_overwrite": "Create New (Overwrite if it exists)",
        "obsidian_operate_placeholder": "Please select the operation method",
        "obsidian_operate_prepend": "Prepend",
        "obsidian_path": "Path",
        "obsidian_path_placeholder": "Please select the path",
        "obsidian_reasoning": "Include Reasoning Chain",
        "obsidian_root_directory": "Root Directory",
        "obsidian_select_vault_first": "Please select a vault first",
        "obsidian_source": "Source",
        "obsidian_source_placeholder": "Please enter the source",
        "obsidian_tags": "Tags",
        "obsidian_tags_placeholder": "Please enter tags, separate multiple tags with commas",
        "obsidian_title": "Title",
        "obsidian_title_placeholder": "Please enter the title",
        "obsidian_title_required": "The title cannot be empty",
        "obsidian_vault": "Vault",
        "obsidian_vault_placeholder": "Please select the vault name",
        "siyuan": "Export to Siyuan Note",
        "title": "Export",
        "title_naming_failed": "Failed to generate title, using default title",
        "title_naming_success": "Title generated successfully",
        "wait_for_title_naming": "Generating title...",
        "word": "Export as Word",
        "yuque": "Export to Yuque"
      },
      "group": {
        "collapse": "Collapse display",
        "collapse_all": "Collapse all",
        "earlier": "Earlier",
        "expand_all": "Expand all",
        "show_more": "Expand display",
        "this_week": "This week",
        "today": "Today",
        "unknown_assistant": "Unlinked Assistant",
        "yesterday": "Yesterday"
      },
      "list": "Topic List",
      "manage": {
        "clear_selection": "Clear Selection",
        "delete": {
          "confirm": {
            "content": "Are you sure you want to delete {{count}} selected topic(s)? This action cannot be undone.",
            "title": "Delete Topics"
          },
          "error": "Failed to delete. Please try again.",
          "partial_success": "Successfully deleted {{successCount}} topics, {{failedCount}} failed",
          "success": "Deleted {{count}} topic(s)"
        },
        "deselect_all": "Deselect All",
        "error": {
          "at_least_one": "At least one topic must be kept"
        },
        "move": {
          "button": "Move",
          "placeholder": "Select target assistant",
          "success": "Moved {{count}} topic(s)"
        },
        "pinned": "Pinned Topics",
        "selected_count": "{{count}} selected",
        "title": "Manage Topics",
        "unpinned": "Unpinned Topics"
      },
      "move_to": "Move to",
      "new": "New Topic",
      "pin": "Pin Topic",
      "prompt": {
        "edit": {
          "title": "Edit Topic Prompts"
        },
        "label": "Topic Prompts",
        "tips": "Topic Prompts: Additional supplementary prompts provided for the current topic"
      },
      "search": {
        "placeholder": "Search topics...",
        "title": "Search"
      },
      "title": "Topics",
      "unpin": "Unpin Topic"
    },
    "translate": "Translate",
    "user": "User",
    "web_search": {
      "warning": {
        "openai": "The GPT-5 model's minimal reasoning effort does not support web search."
      }
    }
  },
  "code": {
    "auto_update_to_latest": "Automatically update to latest version",
    "bun_required_message": "Bun environment is required to run CLI tools",
    "cli_tool": "CLI Tool",
    "cli_tool_placeholder": "Select the CLI tool to use",
    "count_one": "{{count}} item",
    "count_other": "{{count}} items",
    "custom_path": "Custom path",
    "custom_path_error": "Failed to set custom terminal path",
    "custom_path_required": "Custom path required for this terminal",
    "custom_path_set": "Custom terminal path set successfully",
    "description": "Quickly launch multiple code CLI tools to improve development efficiency",
    "env_vars_help": "Enter custom environment variables (one per line, format: KEY=value)",
    "environment_variables": "Environment Variables",
    "folder_placeholder": "Select working directory",
    "hero_tagline": "Pick a CLI tool to configure",
    "install_bun": "Install Bun",
    "installing_bun": "Installing...",
    "launch": {
      "bun_required": "Please install Bun environment first before launching CLI tools",
      "error": "Launch failed, please try again",
      "label": "Launch",
      "launched": "Launched",
      "success": "Launch successful",
      "validation_error": "Please complete all required fields: CLI tool, model, and working directory"
    },
    "launching": "Launching...",
    "model": "Model",
    "model_hint": "Choose which AI model the CLI tool should use",
    "model_placeholder": "Select the model to use",
    "model_required": "Please select a model",
    "select_folder": "Select Folder",
    "set_custom_path": "Set custom terminal path",
    "supported_providers": "Supported Providers",
    "terminal": "Terminal",
    "terminal_hint": "Choose which terminal application to run the CLI in",
    "terminal_placeholder": "Select terminal application",
    "title": "Code Tools",
    "tool_description": {
      "claude_code": "Anthropic's official command-line AI coding assistant",
      "gemini_cli": "Google's official Gemini command-line assistant",
      "github_copilot_cli": "GitHub's official Copilot command-line companion",
      "kimi_cli": "Moonshot's Kimi command-line assistant",
      "openai_codex": "OpenAI's official code generation CLI",
      "opencode": "Open-source multi-model coding agent",
      "qoder_cli": "Alibaba Qoder's agentic command-line coding tool",
      "qwen_code": "Alibaba Tongyi's open-source CLI coding tool"
    },
    "update_options": "Update Options",
    "working_directory": "Working Directory",
    "working_directory_hint": "The working directory that the CLI tool launches in"
  },
  "code_block": {
    "collapse": "Collapse",
    "copy": {
      "failed": "Copy failed",
      "label": "Copy",
      "source": "Copy Source Code",
      "success": "Copied"
    },
    "download": {
      "failed": {
        "network": "Download failed, please check the network"
      },
      "label": "Download",
      "png": "Download PNG",
      "source": "Download Source Code",
      "svg": "Download SVG"
    },
    "edit": {
      "label": "Edit",
      "save": {
        "failed": {
          "label": "Save failed",
          "message_not_found": "Save failed, message not found"
        },
        "label": "Save Changes",
        "success": "Saved"
      }
    },
    "expand": "Expand",
    "more": "More",
    "run": "Run",
    "split": {
      "label": "Split View",
      "restore": "Restore Split View"
    },
    "wrap": {
      "off": "Unwrap",
      "on": "Wrap"
    }
  },
  "common": {
    "about": "About",
    "add": "Add",
    "add_success": "Added successfully",
    "advanced_settings": "Advanced Settings",
    "agent": "Agent",
    "agent_one": "Agent",
    "agent_other": "Agents",
    "all": "All",
    "and": "and",
    "assistant": "Agent",
    "assistant_one": "Assistant",
    "assistant_other": "Assistants",
    "avatar": "Avatar",
    "back": "Back",
    "browse": "Browse",
    "cancel": "Cancel",
    "chat": "Chat",
    "clear": "Clear",
    "clear_all": "Clear All",
    "click_to_replace": "Click to replace",
    "close": "Close",
    "close_sidebar": "Close sidebar",
    "collapse": "Collapse",
    "completed": "Completed",
    "confirm": "Confirm",
    "copied": "Copied",
    "copy": "Copy",
    "copy_failed": "Copy failed",
    "create_success": "Created successfully",
    "current": "Current",
    "cut": "Cut",
    "default": "Default",
    "delete": "Delete",
    "delete_confirm": "Are you sure you want to delete?",
    "delete_failed": "Failed to delete",
    "delete_success": "Deleted successfully",
    "description": "Description",
    "detail": "Detail",
    "disabled": "Disabled",
    "docs": "Docs",
    "download": "Download",
    "duplicate": "Duplicate",
    "edit": "Edit",
    "enabled": "Enabled",
    "error": "error",
    "errors": {
      "create_message": "Failed to create message",
      "validation": "Verification failed"
    },
    "expand": "Expand",
    "export": {
      "excel": "Export to Excel"
    },
    "file": {
      "not_supported": "Unsupported file type {{type}}"
    },
    "footnote": "Reference content",
    "footnotes": "References",
    "fullscreen": "Entered fullscreen mode. Press F11 to exit",
    "generate_random_seed": "Generate random seed",
    "get_embedding_dimension": "Get embedding dimension",
    "go_to_settings": "Go to settings",
    "html_preview": "HTML Preview",
    "i_know": "I know",
    "ignore": "Ignore",
    "image_preview": "Image preview",
    "image_url": "Image URL",
    "image_url_or_upload": "Enter image URL or upload file",
    "inspect": "Inspect",
    "invalid_value": "Invalid Value",
    "knowledge_base": "Knowledge Base",
    "language": "Language",
    "loading": "Loading...",
    "maximize": "Maximize",
    "minimize": "Minimize",
    "model": "Model",
    "models": "Models",
    "more": "More",
    "name": "Name",
    "next": "Next",
    "next_match": "Next match",
    "no_results": "No results",
    "none": "None",
    "off": "Off",
    "on": "On",
    "open": "Open",
    "open_in": "Open in {{name}}",
    "open_in_new_tab": "Open in new tab",
    "open_sidebar": "Open sidebar",
    "paste": "Paste",
    "placeholders": {
      "select": {
        "model": "Select a model"
      }
    },
    "powered_by": "Powered by ",
    "preview": "Preview",
    "previous": "Previous",
    "previous_match": "Previous match",
    "prompt": "Prompt",
    "provider": "Provider",
    "reasoning_content": "Deep reasoning",
    "refresh": "Refresh",
    "regenerate": "Regenerate",
    "remove_image": "Remove image",
    "rename": "Rename",
    "required_field": "Required field",
    "reset": "Reset",
    "resize_panel": "Resize panel",
    "retry": "Retry",
    "save": "Save",
    "save_failed": "Save failed",
    "saved": "Saved",
    "search": "Search",
    "select": "Select",
    "select_all": "Select All",
    "selected": "Selected",
    "selectedItems": "Selected {{count}} items",
    "selectedMessages": "Selected {{count}} messages",
    "sessions": "Sessions",
    "settings": "Settings",
    "sort": {
      "pinyin": {
        "asc": "Sort by Pinyin (A-Z)",
        "desc": "Sort by Pinyin (Z-A)",
        "label": "Sort by Pinyin"
      }
    },
    "stop": "Stop",
    "subscribe": "Subscribe",
    "success": "Success",
    "swap": "Swap",
    "topics": "Topics",
    "translate_text": "Translate text",
    "unknown": "Unknown",
    "unnamed": "Unnamed",
    "unsubscribe": "Unsubscribe",
    "update_success": "Update successfully",
    "upload_files": "Upload file",
    "upload_image": "Upload image file",
    "uploaded_image": "Uploaded image",
    "warning": "Warning",
    "yesterday": "Yesterday",
    "you": "You"
  },
  "dialog": {
    "all_files": "All Files",
    "html_files": "HTML Files",
    "open_file": "Open File",
    "pdf_files": "PDF Files",
    "png_image": "PNG Image",
    "save_as_html": "Save as HTML",
    "save_as_pdf": "Save as PDF",
    "save_file": "Save File",
    "select_folder": "Select Folder",
    "word_document": "Word Document"
  },
  "docs": {
    "title": "Docs"
  },
  "emoji_picker": {
    "categories": {
      "activities": "Activities",
      "animals_nature": "Animals & Nature",
      "flags": "Flags",
      "food_drink": "Food & Drink",
      "objects": "Objects",
      "people_body": "People & Body",
      "recent": "Frequently used",
      "smileys_emotion": "Smileys & Emotion",
      "symbols": "Symbols",
      "travel_places": "Travel & Places"
    },
    "clear_recent": "Clear recent",
    "no_results": "No matching emoji",
    "search": "Search"
  },
  "endpoint_type": {
    "anthropic": "Anthropic",
    "gemini": "Gemini",
    "image-generation": "Image Generation (OpenAI)",
    "jina-rerank": "Jina Rerank",
    "openai": "OpenAI",
    "openai-response": "OpenAI-Response"
  },
  "error": {
    "availableProviders": "Available Providers",
    "availableTools": "Available Tools",
    "backup": {
      "file_format": "Backup file format error"
    },
    "base64DataTruncated": "Base64 image data truncated, size",
    "boundary": {
      "default": {
        "devtools": "Open debug panel",
        "message": "It seems that something went wrong...",
        "reload": "Reload"
      },
      "details": "Details",
      "mcp": {
        "invalid": "Invalid MCP server"
      }
    },
    "cause": "Error cause",
    "chat": {
      "chunk": {
        "non_json": "Returned an invalid data format"
      },
      "insufficient_balance": "Please go to the <provider>{{provider}}</provider> to recharge.",
      "no_api_key": "You have not configured an API key. Please go to the <provider>{{provider}}</provider> to obtain an API key.",
      "quota_exceeded": "Your daily {{quota}} free quota has been exhausted. Please go to the <provider>{{provider}}</provider> to obtain an API key and configure the API key to continue using.",
      "response": "Something went wrong. Please check if you have set your API key in the Settings > Providers"
    },
    "content": "Content",
    "data": "Data",
    "detail": "Error Details",
    "details": "Details",
    "diagnosis": {
      "ai_button": "AI Diagnosis",
      "ai_done": "Diagnosed",
      "ai_loading": "Diagnosing",
      "ai_result": "AI Diagnosis Result",
      "auth": "API Key is invalid, please check and reconfigure",
      "content": "Content blocked by safety system, please modify and retry",
      "context_length": "Conversation too long, please clear history or start a new chat",
      "deprecated": "This model has been retired, please switch to another model",
      "go_to_settings": "Go to Settings",
      "knowledge": "Knowledge base vectorization failed",
      "mcp": "MCP server connection failed, check if service is running",
      "model": "Model not found or you don't have access",
      "model_conflict": "Diagnosis model is the same as the failing model",
      "network": "Cannot connect to server, check network or proxy settings",
      "ocr": "OCR engine not initialized, check OCR settings",
      "parse": "AI returned an invalid response, please retry or switch model",
      "payload": "Request content too large, please reduce file or text size",
      "proxy": "Proxy or SSL certificate error, check proxy and network settings",
      "quota": "Account quota exhausted, please recharge or switch provider",
      "server": "Server error, please retry later",
      "stream": "Response interrupted, check network stability or retry",
      "unknown": "An error occurred",
      "view_details": "View Details"
    },
    "errors": "Errors",
    "finishReason": "Finish Reason",
    "functionality": "Functionality",
    "http": {
      "400": "Request failed. Please check if the request parameters are correct. If you have changed the model settings, please reset them to the default settings",
      "401": "Authentication failed. Please check if your API key is correct",
      "403": "Access denied. Please check if your account is verified, or contact the service provider for more information",
      "404": "Model not found or request path is incorrect",
      "429": "Too many requests. Please try again later",
      "500": "Server error. Please try again later",
      "502": "Gateway error. Please try again later",
      "503": "Service unavailable. Please try again later",
      "504": "Gateway timeout. Please try again later"
    },
    "lastError": "Last Error",
    "maxEmbeddingsPerCall": "Max Embeddings Per Call",
    "message": "Error Message",
    "missing_user_message": "Cannot switch model response: The original user message has been deleted. Please send a new message to get a response with this model.",
    "model": {
      "exists": "Model already exists",
      "not_exists": "Model does not exist"
    },
    "modelId": "Model ID",
    "modelType": "Model Type",
    "name": "Error name",
    "no_api_key": "API key is not configured",
    "no_response": "No response",
    "originalError": "Original Error",
    "originalMessage": "Original Message",
    "parameter": "Parameter",
    "prompt": "Prompt",
    "provider": "Provider",
    "providerId": "Provider ID",
    "provider_disabled": "Model provider is not enabled",
    "reason": "Reason",
    "render": {
      "block": "This content block failed to render",
      "description": "Failed to render message content. Please check if the message content format is correct",
      "title": "Render Error"
    },
    "requestBody": "Request Body",
    "requestBodyValues": "Request Body Values",
    "requestUrl": "Request URL",
    "request_timeout": "Request timed out",
    "response": "Response",
    "responseBody": "Response Body",
    "responseHeaders": "Response Header",
    "responses": "Responses",
    "role": "Role",
    "stack": "Stack Trace",
    "status": "Status Code",
    "statusCode": "Status Code",
    "statusText": "Status Text",
    "stream_paused": "Paused",
    "text": "Text",
    "toolInput": "Tool Input",
    "toolName": "Tool Name",
    "truncated": "Data truncated, original size",
    "truncatedBadge": "Truncated",
    "unknown": "Unknown error",
    "usage": "Usage",
    "user_message_not_found": "Cannot find original user message to resend",
    "value": "Value",
    "values": "Values"
  },
  "export": {
    "assistant": "Assistant",
    "attached_files": "Attached Files",
    "conversation_details": "Conversation Details",
    "conversation_history": "Conversation History",
    "created": "Created",
    "last_updated": "Last Updated",
    "messages": "Messages",
    "notion": {
      "reasoning_truncated": "Chain of thought cannot be chunked and has been truncated."
    },
    "user": "User"
  },
  "files": {
    "actions": "Actions",
    "all": "All Files",
    "audio": "Audio",
    "batch_delete": "Batch delete",
    "batch_operation": "Select All",
    "count": "files",
    "created_at": "Created At",
    "delete": {
      "content": "Deleting a file will delete its reference from all messages. Are you sure you want to delete this file?",
      "db_error": "Deletion failed",
      "label": "Delete",
      "paintings": {
        "warning": "Image contains this file, deletion is not possible"
      },
      "title": "Delete File"
    },
    "delete_or_remove": "Delete / remove",
    "document": "Document",
    "drag_upload": "Drag files here to upload",
    "edit": "Edit",
    "empty": {
      "no_match_description": "No files match the current filters",
      "no_match_title": "No matching files found"
    },
    "error": {
      "delete_failed": "Failed to delete files",
      "delete_partial_failed": "Some files could not be deleted",
      "import_failed": "Failed to import files",
      "import_partial_failed": "Some files could not be imported",
      "open_path": "Failed to open path {{path}}",
      "rename_failed": "Failed to rename file",
      "restore_failed": "Failed to restore files",
      "restore_partial_failed": "Some files could not be restored"
    },
    "file": "File",
    "footer_count": "{{count}} files",
    "footer_selected_count": "{{count}} selected",
    "image": "Image",
    "missing": "Missing",
    "modified_at": "Modified At",
    "name": "Name",
    "open": "Open",
    "other": "Other",
    "permanent_delete": "Permanently delete",
    "permanent_delete_confirm": {
      "description": "This will permanently remove {{count}} file(s). This action cannot be undone.",
      "title": "Permanently delete files?"
    },
    "preview": {
      "error": "Failed to open file"
    },
    "remove_from_library": "Remove from library",
    "rename": "Rename",
    "restore": "Restore",
    "selected_count": "{{count}} files selected",
    "show_in_folder": "Show in folder",
    "size": "Size",
    "text": "Text",
    "title": "Files",
    "trash": "Trash",
    "type": "Type",
    "video": "Video"
  },
  "globalSearch": {
    "clear": "Clear search",
    "error": "Search failed",
    "filters": {
      "agent": "Agent",
      "all": "All",
      "assistant": "Assistant",
      "conversation": "Conversation",
      "knowledge": "Knowledge",
      "label": "Search type",
      "session": "Task",
      "topic": "Conversation"
    },
    "groups": {
      "agent": "Agent",
      "assistant": "Assistant",
      "conversation": "Conversation",
      "knowledge-base": "Knowledge",
      "message": "Messages",
      "recent": "Recent",
      "session": "Task",
      "topic": "Conversation"
    },
    "keyboard": {
      "select": "Select"
    },
    "messageSearch": {
      "entry": "Messages",
      "hint": "Type to search message content",
      "jumpToMessage": "Jump to message",
      "more": "Show {{count}} more results",
      "open": "Search messages",
      "roles": {
        "assistant": "Assistant",
        "system": "System",
        "tool": "Tool",
        "user": "User"
      },
      "sourceLabel": "Message source",
      "sources": {
        "all": "All messages",
        "session": "Task messages",
        "topic": "Conversation messages"
      },
      "viewMore": "View more in Messages"
    },
    "no_recent": "No recent routes",
    "open": "Open global search",
    "open_failed": "Failed to open search result",
    "placeholder": "Search conversations, tasks, assistants, agents, and knowledge...",
    "quickApps": {
      "hide": "Hide {{name}}",
      "manage": "Manage",
      "manager_description": "Drag to reorder, click the eye to hide or show",
      "manager_title": "Manage quick apps",
      "reset": "Reset",
      "save_failed": "Failed to save quick apps",
      "show": "Show {{name}}",
      "title": "Quick apps"
    },
    "recent_hint": "Type to search conversations, tasks, assistants, agents, and knowledge",
    "resultTypes": {
      "agent": "Agent",
      "assistant": "Assistant",
      "knowledge-base": "Knowledge",
      "session": "Task",
      "topic": "Conversation"
    },
    "showMore": "Show {{count}} more",
    "timeFilters": {
      "any": "Any time",
      "label": "Updated time",
      "messageLabel": "Created time",
      "month": "Last month",
      "quarter": "Last 3 months",
      "today": "Today",
      "week": "Last 7 days"
    }
  },
  "gpustack": {
    "keep_alive_time": {
      "description": "The time in minutes to keep the connection alive, default is 5 minutes.",
      "placeholder": "Minutes",
      "title": "Keep Alive Time"
    },
    "title": "GPUStack"
  },
  "history": {
    "continue_chat": "Continue Chatting",
    "error": {
      "topic_not_found": "Topic not found"
    },
    "locate": {
      "message": "Locate the message"
    },
    "records": {
      "agentSubtitle": "{{count}} tasks",
      "agentTitle": "Agent History",
      "assistantSubtitle": "{{count}} conversations",
      "bulkDelete": "Batch Delete",
      "bulkDeleteSessions": {
        "description": "Delete {{count}} selected task(s)?",
        "title": "Delete selected tasks"
      },
      "bulkDeleteTopics": {
        "description": "Delete {{count}} selected conversation(s)?",
        "title": "Delete selected conversations"
      },
      "bulkMove": "Batch Move",
      "bulkMoveTopics": {
        "confirm": "Move",
        "description": "Move {{count}} selected conversation(s) to the target assistant.",
        "empty": "No assistants available",
        "error": "Failed to move conversations",
        "partialSuccess": "Moved {{moved}} of {{total}} conversation(s); {{failed}} failed",
        "placeholder": "Select assistant",
        "success": "Moved {{count}} conversation(s)",
        "target": "Target assistant",
        "title": "Move selected conversations"
      },
      "empty": {
        "description": "No conversations for the current filters.",
        "sessionsDescription": "No tasks for the current filters.",
        "sessionsTitle": "No tasks",
        "title": "No conversations"
      },
      "loading": {
        "description": "Loading conversation list.",
        "sessionsDescription": "Loading task list.",
        "sessionsTitle": "Loading tasks",
        "title": "Loading conversations"
      },
      "resultCount": "{{count}} results",
      "searchSession": "Search tasks...",
      "searchTopic": "Search conversations...",
      "shortTitle": "History",
      "sidebar": {
        "searchAssistant": "Search assistants...",
        "status": "Status",
        "unknownAssistant": "Unlinked assistant"
      },
      "status": {
        "completed": "Completed",
        "failed": "Failed",
        "running": "Running"
      },
      "table": {
        "actions": "Actions",
        "emptyValue": "—",
        "messages": "Messages",
        "session": "Task",
        "time": "Time",
        "title": "Title"
      },
      "title": "Conversation History"
    },
    "search": {
      "match": {
        "substring": "Contains",
        "whole_word": "Whole word"
      },
      "messages": "Search All Messages",
      "placeholder": "Search topics or messages...",
      "sort": {
        "newest": "Newest first",
        "oldest": "Oldest first"
      },
      "topics": {
        "empty": "No topics found, press Enter to search all messages"
      }
    },
    "title": "Topics Search"
  },
  "html_artifacts": {
    "capture": {
      "label": "Capture Page",
      "to_clipboard": "Copy to Clipboard",
      "to_file": "Save as Image"
    },
    "code": "Code",
    "empty_preview": "No content to display",
    "generating": "Generating",
    "preview": "Preview",
    "split": "Split",
    "view_mode": "View mode"
  },
  "import": {
    "chatgpt": {
      "assistant_name": "ChatGPT Import",
      "button": "Select File",
      "description": "Only imports conversation text, does not include images and attachments",
      "error": {
        "invalid_json": "Invalid JSON file format",
        "no_conversations": "No conversations found in file",
        "no_valid_conversations": "No valid conversations to import",
        "unknown": "Import failed, please check file format"
      },
      "help": {
        "step1": "1. Log in to ChatGPT, go to Settings > Data controls > Export data",
        "step2": "2. Wait for the export file via email",
        "step3": "3. Extract the downloaded file and find conversations.json",
        "title": "How to export ChatGPT conversations?"
      },
      "importing": "Importing conversations...",
      "selecting": "Selecting file...",
      "success": "Successfully imported {{topics}} conversations with {{messages}} messages",
      "title": "Import ChatGPT Conversations",
      "untitled_conversation": "Untitled Conversation"
    },
    "confirm": {
      "button": "Select Import File",
      "label": "Are you sure you want to import external data?"
    },
    "content": "Select external application conversation file to import, currently only supports ChatGPT JSON format files",
    "title": "Import External Conversations"
  },
  "knowledge": {
    "add": {
      "group": "Group",
      "submit": "Create",
      "title": "New Knowledge Base"
    },
    "context": {
      "delete": "Delete Knowledge Base",
      "delete_confirm_description": "This knowledge base cannot be recovered after deletion.",
      "delete_confirm_title": "Delete Knowledge Base?",
      "move_to": "Move to",
      "rename": "Rename"
    },
    "data_source": {
      "actions": {
        "delete": "Delete",
        "preview_source": "Preview Source",
        "reindex": "Reindex",
        "view_chunks": "View Chunks"
      },
      "add_dialog": {
        "conflict_dialog": {
          "description": "{{count}} of the sources you are adding have the same name as existing items. Choose how to handle them.",
          "keep_all": "Keep All",
          "replace": "Replace",
          "title": "Sources already exist"
        },
        "footer": {
          "selected_notes": "{{count}} notes selected"
        },
        "note": {
          "description": "Select existing notes as knowledge base sources",
          "empty_description": "Create notes in the Notes feature, then come back to select them here.",
          "empty_title": "No notes found",
          "loading": "Loading notes…"
        },
        "placeholder": {
          "supported_formats": "Supports PDF, DOCX, MD, XLSX, TXT, CSV",
          "title": "Click to select files or drag them here"
        },
        "sources": {
          "directory": "Folder",
          "file": "File",
          "note": "Note",
          "url": "URL"
        },
        "submit": {
          "error": "Failed to add data source",
          "success": "Data source added to knowledge base"
        },
        "title": "Add Data Source",
        "too_many_sources": "You can add at most {{count}} sources at a time. Reduce your selection and try again.",
        "unsupported_files_skipped": "Skipped {{count}} unsupported file(s)",
        "url": {
          "description": "Enter a webpage URL:",
          "help": "Page text will be fetched, chunked, and indexed automatically",
          "input_label": "Webpage URL",
          "placeholder": "https://example.com",
          "title": "Import a single webpage"
        }
      },
      "bulk": {
        "delete": "Delete",
        "delete_confirm_description": "Delete {{count}} selected data sources? This cannot be undone.",
        "delete_confirm_title": "Delete Selected Data Sources?",
        "loaded_only_hint": "Applies to loaded items only ({{total}} total)",
        "reindex": "Reindex",
        "selected_count": "{{count}} selected"
      },
      "chunks_count": "{{count}} chunks",
      "delete_confirm_description": "This data source and its index data cannot be recovered after deletion.",
      "delete_confirm_title": "Delete Data Source?",
      "delete_failed": "Failed to delete data source",
      "empty": {
        "shortcuts": {
          "directory": {
            "title": "Folder Import"
          },
          "file": {
            "title": "File"
          },
          "url": {
            "title": "URL"
          }
        },
        "title": "Upload Your First Data Source"
      },
      "empty_description": "No data sources yet",
      "filters": {
        "all": "All",
        "directory": "Folders",
        "file": "Files",
        "note": "Notes",
        "url": "URLs"
      },
      "list": {
        "end_reached": "No more items",
        "loading_more": "Loading more…"
      },
      "preview": {
        "failed": "Failed to preview source",
        "unavailable": "This data source has no source to preview"
      },
      "reindex_failed": "Failed to reindex data source",
      "status": {
        "chunking": "Chunking",
        "embedding": "Embedding",
        "error": "Error",
        "pending": "Waiting",
        "ready": "Ready"
      },
      "table": {
        "aria_label": "Data sources",
        "columns": {
          "actions": "Actions",
          "name": "Name",
          "status": "Status",
          "type": "Type",
          "updated_at": "Updated"
        },
        "select_all": "Select all",
        "select_row": "Select row",
        "view_chunks_row": "View chunks for {{title}}"
      },
      "toolbar": {
        "add": "Add Data Source"
      }
    },
    "dimensions_auto_set": "Auto-set embedding dimensions",
    "dimensions_size_placeholder": "Leave empty to not pass dimensions",
    "embedding_model": "Embedding Model",
    "embedding_model_required": "Knowledge base embedding model is required",
    "empty": "No knowledge bases",
    "error": {
      "directory_not_migrated": "Folder migration failed. Please delete it and re-upload.",
      "failed_base_unknown": "This knowledge base failed during migration. Rebuild it and choose a new embedding model.",
      "failed_to_create": "Failed to create knowledge base",
      "failed_to_delete": "Failed to delete knowledge base",
      "failed_to_edit": "Failed to edit knowledge base",
      "failed_to_move": "Failed to move knowledge base",
      "indexing_interrupted": "Indexing was interrupted because the app closed. Reindex this item to finish.",
      "missing_embedding_model": "The embedding model used by this knowledge base was not found during migration. Rebuild the knowledge base and choose a new embedding model.",
      "missing_vector_store": "This knowledge base's vector store could not be read during migration (missing, empty, or locked). The knowledge base was kept; re-index it to recover.",
      "model_invalid": "No model selected"
    },
    "groups": {
      "add": "New Group",
      "create_base_here": "Create here",
      "default": "Default",
      "delete": "Delete Group",
      "delete_confirm_description": "Knowledge bases in this group will be moved to the default group after deletion.",
      "delete_confirm_title": "Delete Group?",
      "error": {
        "failed_to_create": "Failed to create group",
        "failed_to_delete": "Failed to delete group",
        "failed_to_update": "Failed to rename group"
      },
      "name_placeholder": "Enter group name...",
      "name_required": "Group name is required",
      "rename": "Rename",
      "rename_title": "Rename Group",
      "ungrouped": "Ungrouped"
    },
    "meta": {
      "data_sources_count": "{{count}} sources",
      "documents_count": "{{count}} documents",
      "updated_at": "Updated {{time}}"
    },
    "name_required": "Knowledge base name is required",
    "not_set": "Not Set",
    "provider_not_found": "Provider not found",
    "rag": {
      "chunk_overlap": "Overlap Size",
      "chunk_overlap_invalid": "Chunk overlap must be greater than or equal to 0",
      "chunk_overlap_must_be_smaller": "Chunk overlap must be smaller than chunk size",
      "chunk_overlap_requires_chunk_size": "Chunk size is required when chunk overlap is set",
      "chunk_separator": "Separator",
      "chunk_separator_required": "Separator is required when smart chunking is off",
      "chunk_size": "Chunk Size",
      "chunk_size_change_warning": "Chunking changes only apply to newly added content",
      "chunk_size_invalid": "Chunk size must be greater than 0",
      "chunking": "Chunking",
      "default_separator": "Auto (recommended)",
      "document_count": "Requested Chunks (Top K)",
      "embedding_model": "Embedding Model",
      "embedding_model_select": "Model Selection",
      "file_processing": "File Processing",
      "file_processing_hint": "Document preprocessing runs automatically during document import. Choosing the right provider can improve document parsing quality.",
      "hints": {
        "chunk_overlap": "Number of overlapping tokens kept between adjacent chunks to reduce semantic breaks.",
        "chunk_separator": "Delimiter the text is split on, in escaped form. With smart chunking on it adds a break point; with it off the text is split only by this delimiter.",
        "chunk_size": "Target token count for each document chunk. This affects retrieval granularity and context length.",
        "document_count": "Maximum number of document chunks returned for each retrieval. Higher values cover more content but use more context.",
        "embedding_model": "Used to convert knowledge base content into vectors. Changing the model usually requires reindexing existing content.",
        "hybrid_alpha": "Vector score weight in hybrid retrieval. Higher values favor semantic matching.",
        "processor": "Parser used when importing files to extract body text, tables, and related content.",
        "rerank_model": "Model used to rerank initial retrieval results and improve final chunk relevance.",
        "search_mode": "Choose a retrieval mode: vector search for semantic matching, full-text search for keywords, or hybrid search for both.",
        "smart_chunking": "Automatically split along Markdown structure (headings, code blocks, paragraphs) and never split inside a code block. Turn off to split purely by the separator.",
        "threshold": "Similarity threshold for filtering low-relevance chunks. Higher values make retrieval stricter.",
        "threshold_disabled": "This retrieval mode returns ordered results and does not use a similarity threshold."
      },
      "hybrid_alpha": "Hybrid Alpha",
      "processor": "Processing Provider",
      "rerank_disabled": "Disabled",
      "rerank_model": "Rerank Model",
      "reset_action": "Restore Defaults",
      "reset_defaults": "Reset Defaults",
      "retrieval": "Retrieval",
      "save_action": "Save",
      "saved": "Saved",
      "search_mode": {
        "bm25": "Full-text Search",
        "hybrid": "Hybrid Search (recommended)",
        "title": "Search Mode",
        "vector": "Vector Search"
      },
      "separator_rule": "Separator Rule",
      "smart_chunking": "Smart Chunking",
      "threshold": "Similarity Threshold",
      "tokens_unit": "tokens"
    },
    "recall": {
      "collapse": "Collapse Chunk",
      "copy": "Copy Chunk",
      "duration": "{{duration}}ms",
      "empty_description": "Matched document chunks and scores will appear here",
      "empty_title": "Enter a query to test retrieval",
      "expand": "Expand Chunk",
      "history_clear": "Clear",
      "history_remove": "Remove History",
      "history_title": "Search History",
      "placeholder": "Enter test query...",
      "ranking_only": "Ordered results",
      "result_count": "{{count}} results",
      "result_rank": "Rank #{{rank}}",
      "result_relevance": "Relevance {{score}}",
      "search_failed": "Failed to run recall test",
      "searching": "Searching...",
      "submit": "Search",
      "top_score": "Top: {{score}}"
    },
    "rename_title": "Rename Knowledge Base",
    "restore": {
      "action": "Rebuild knowledge base",
      "default_name": "{{name}}_bak",
      "failed_to_restore": "Failed to rebuild knowledge base",
      "skipped_missing_sources_one": "Skipped {{count}} item whose source no longer exists",
      "skipped_missing_sources_other": "Skipped {{count}} items whose source no longer exists",
      "submit": "Rebuild",
      "title": "Rebuild Knowledge Base"
    },
    "search": "Search Knowledge Base",
    "search_placeholder": "Enter text to search",
    "status": {
      "completed": "Ready",
      "failed": "Failed",
      "processing": "Processing"
    },
    "status_embedding_failed": "Embedding Failed",
    "status_preprocess_failed": "Preprocessing Failed",
    "subtitle_file": "subtitle file",
    "tabs": {
      "data_source": "Data Sources",
      "rag_config": "RAG Config",
      "recall_test": "Recall Test"
    },
    "title": "Knowledge Base",
    "videos_file": "video file"
  },
  "languages": {
    "arabic": "Arabic",
    "chinese": "Chinese",
    "chinese-traditional": "Traditional Chinese",
    "english": "English",
    "french": "French",
    "german": "German",
    "indonesian": "Indonesian",
    "italian": "Italian",
    "japanese": "Japanese",
    "korean": "Korean",
    "malay": "Malay",
    "polish": "Polish",
    "portuguese": "Portuguese",
    "russian": "Russian",
    "spanish": "Spanish",
    "thai": "Thai",
    "turkish": "Turkish",
    "ukrainian": "Ukrainian",
    "unknown": "unknown",
    "urdu": "Urdu",
    "vietnamese": "Vietnamese"
  },
  "launchpad": {
    "apps": "Apps",
    "minapps": "Minapps",
    "miniApps": "MiniApps",
    "pin_to_sidebar": "Pin to sidebar",
    "unpin_from_sidebar": "Unpin from sidebar"
  },
  "library": {
    "action": {
      "create": "New",
      "delete": "Delete",
      "disable": "Disable",
      "duplicate": "Duplicate",
      "edit": "Edit",
      "enable": "Enable",
      "manage_tags": "Manage tags",
      "uninstall": "Uninstall"
    },
    "assistant_catalog": {
      "add": "Add",
      "add_failed": "Failed to add assistant",
      "browse_label": "Assistant categories",
      "empty_description": "This category has no assistant presets yet.",
      "empty_title": "No assistants to add",
      "go_to_chat": "Go to chat",
      "mine": "Mine",
      "no_match_description": "Try a different search keyword",
      "no_match_title": "No matching assistants",
      "preview": "Preview",
      "preview_description": "Overview",
      "preview_prompt": "Prompt",
      "scroll_left": "Scroll categories left",
      "scroll_right": "Scroll categories right"
    },
    "badge": {
      "update": "Update"
    },
    "config": {
      "agent": {
        "create_banner": "Save before binding tools and MCP servers",
        "create_title": "New agent",
        "field": {
          "accessible_paths": {
            "add": "Add directory",
            "empty": "Not set (defaults to the workspace root)",
            "hint": "Limits directories the agent can access",
            "label": "Accessible directories"
          },
          "allowed_tools": {
            "add": "Add tool",
            "empty": "Leave empty to use the permission mode default",
            "label": "Allowed tools"
          },
          "avatar": {
            "hint": "Used to identify it in the library and sessions"
          },
          "description": {
            "hint": "Helps identify what this agent is for",
            "label": "Description",
            "placeholder": "What this agent is for…"
          },
          "env_vars": {
            "help": "One KEY=VALUE per line",
            "label": "Environment variables",
            "placeholder": "KEY=value\nANOTHER_KEY=another_value"
          },
          "heartbeat_enabled": {
            "label": "Heartbeat check"
          },
          "heartbeat_interval": {
            "label": "Heartbeat interval (minutes)"
          },
          "instructions": {
            "hint": "Defines the agent's role and behavior boundaries",
            "label": "System prompt",
            "placeholder": "Tell the agent who it is and what it can do…"
          },
          "max_turns": {
            "help": "0 means use the default",
            "label": "Max conversation turns"
          },
          "mcps": {
            "add": "Add MCP server",
            "empty": "None bound",
            "label": "MCP servers (id)"
          },
          "model": {
            "help": "UniqueModelId; will switch to a picker backed by /models later",
            "hint": "Main reasoning and execution",
            "label": "Primary model"
          },
          "name": {
            "hint": "Shown in the library and session lists",
            "label": "Agent name",
            "placeholder": "Give the agent a name"
          },
          "permission_mode": {
            "help": "Switching to bypassPermissions is equivalent to enabling Soul mode",
            "label": "Permission mode",
            "option": {
              "acceptEdits": "Accept edits",
              "bypassPermissions": "Bypass permissions (Soul)",
              "default": "Default",
              "plan": "Plan mode"
            }
          },
          "plan_model": {
            "hint": "Task decomposition and planning",
            "label": "Plan model"
          },
          "small_model": {
            "hint": "Lightweight checks and formatting",
            "label": "Small model"
          },
          "soul_enabled": {
            "help": "When enabled, automatically grants bypassPermissions",
            "label": "Soul mode"
          }
        },
        "model_config": "Model configuration",
        "section": {
          "advanced": {
            "desc": "Max turns and environment variables",
            "label": "Advanced",
            "title": "Advanced"
          },
          "basic": {
            "desc": "Name, avatar, model, directories, runtime",
            "label": "Basic",
            "title": "Basic"
          },
          "permission": {
            "desc": "Authorization scope for agent actions",
            "label": "Permission mode",
            "title": "Permission mode"
          },
          "prompt": {
            "desc": "System prompt and behavioral constraints",
            "label": "Prompt",
            "title": "Prompt"
          },
          "tools": {
            "add": "Add",
            "category": {
              "context": "Context",
              "file": "File",
              "media": "Media",
              "orchestration": "Orchestration",
              "search": "Search",
              "shell": "Shell"
            },
            "desc": "Configure tools and MCP servers the agent can use",
            "label": "Tools",
            "no_builtin_enabled": "No built-in tools enabled",
            "no_mcp_bound": "No MCP servers bound",
            "no_skills_enabled": "No skills enabled",
            "search_placeholder": "Search tools or servers...",
            "skills_coming_soon": "Skill bindings coming soon",
            "skills_require_save": "Save before enabling skills",
            "tab": {
              "mcp": "MCP Server",
              "skills": "Skills",
              "tools": "Built-in tools"
            },
            "title": "Capabilities"
          }
        }
      },
      "basic": {
        "context_count": "Context count",
        "creative": "Creative",
        "custom_params": "Custom parameters",
        "custom_params_add": "Add parameter",
        "custom_params_name": "Parameter name",
        "default_value": "Model default",
        "desc": "Fill in the avatar, name, description, and system prompt",
        "description_label": "Description",
        "field": {
          "avatar": {
            "hint": "Used to identify the assistant in the library and chats"
          },
          "context_count": {
            "hint": "Number of recent messages kept as context"
          },
          "custom_params": {
            "hint": "Extra provider parameters sent with requests"
          },
          "description": {
            "hint": "Helps distinguish what this assistant is for",
            "placeholder": "What this assistant is for..."
          },
          "max_tokens": {
            "hint": "Caps response length when enabled"
          },
          "max_tool_calls": {
            "hint": "Limits tool-call loops when enabled"
          },
          "model": {
            "hint": "Overrides the global default model for this assistant"
          },
          "name": {
            "hint": "Shown in the library and assistant selectors",
            "placeholder": "Give the assistant a name"
          },
          "stream_output": {
            "hint": "Shows responses as they are generated"
          },
          "tags": {
            "hint": "Used for filtering and organizing assistants"
          },
          "temperature": {
            "hint": "Controls randomness when enabled"
          },
          "top_p": {
            "hint": "Limits token sampling range when enabled"
          }
        },
        "json_invalid": "Invalid JSON format",
        "max_tokens": "Max tokens",
        "max_tool_calls": "Max tool calls",
        "mcp_mode": "MCP Mode",
        "model": "Default model",
        "model_clear": "Clear",
        "model_not_found": "Model not found (may have been removed): {{id}}",
        "model_pick": "Pick model",
        "pick_avatar": "Pick avatar",
        "precise": "Precise",
        "stream_output": "Stream output",
        "tag_empty": "No tags available",
        "tag_hint": "To add a new tag, use the \"+ Tag\" entry in the library top bar",
        "tag_placeholder": "Select tags",
        "tag_search": "Search tags",
        "tags": "Tags",
        "temperature": "Temperature",
        "title": "Basic settings",
        "top_p": "Top-P",
        "unlimited": "Unlimited"
      },
      "breadcrumb": "Library",
      "dialogs": {
        "create": {
          "agent_title": "New Agent",
          "assistant_title": "New Assistant",
          "avatar_aria": "Choose avatar",
          "description_placeholder": "Describe what it is for...",
          "dialog_description": "Create a lightweight assistant or agent.",
          "model_placeholder": "Select a model",
          "model_required": "Please select a model",
          "name_placeholder": "Enter a name",
          "name_required": "Please enter a name",
          "submit": "Create",
          "submit_failed": "Create failed"
        },
        "edit": {
          "advanced_tab": "Advanced",
          "agent_description": "Quickly adjust this agent's essentials.",
          "agent_title": "Edit Agent",
          "assistant_description": "Quickly adjust this assistant's essentials.",
          "assistant_title": "Edit Assistant",
          "basic_tab": "Basic",
          "knowledge_tab": "Knowledge",
          "permission_tab": "Permission",
          "prompt_tab": "Prompt",
          "save_failed": "Save failed",
          "tools_tab": "Tools"
        }
      },
      "knowledge": {
        "add": "Add knowledge base",
        "desc": "Link one or more knowledge bases; relevant snippets will be retrieved during chat",
        "doc_count": "{{count}} docs",
        "empty_desc": "Once linked, the assistant can answer based on document content",
        "empty_title": "No knowledge bases linked",
        "invalid_suffix": "... (unavailable)",
        "linked": "Linked knowledge bases",
        "linked_hint": "Controls which knowledge bases this assistant can retrieve from",
        "no_more": "No more knowledge bases available",
        "remove_aria": "Remove",
        "search": "Search knowledge bases...",
        "title": "Knowledge bases"
      },
      "prompt": {
        "create_title": "New Prompt",
        "dblclick_hint": "Double-click the preview to switch back to edit",
        "desc": "The system prompt is sent as the opening context of the assistant",
        "edit_title": "Edit Prompt",
        "field": {
          "content": {
            "label": "Content",
            "too_long": "Content must be {{max}} characters or fewer"
          },
          "name": {
            "label": "Name",
            "too_long": "Name must be {{max}} characters or fewer"
          }
        },
        "generate": "Generate prompt",
        "generate_failed_description": "Check or change the default model, then try again.",
        "generate_failed_title": "Failed to generate prompt",
        "insert_variable": "Insert variable",
        "label": "System prompt",
        "placeholder": "Enter instructions for the assistant, such as response style, role, or background context",
        "title": "Prompt",
        "tokens_label": "Tokens: ",
        "variables_description": "Insert these system variables into the system prompt; before each assistant reply, they are filled with the current information.",
        "variables_example": "Example: Today is {{variable}}, and the current date is used.",
        "variables_title": "System variables",
        "vars": {
          "arch": "CPU architecture",
          "date": "Date",
          "datetime": "Date and time",
          "language": "Language",
          "model_name": "Model name",
          "os": "Operating system",
          "time": "Time",
          "username": "Username"
        }
      },
      "save_failed": "Save failed",
      "saving": "Saving...",
      "section": {
        "basic": {
          "desc": "Avatar, name, description, and system prompt",
          "label": "Basic"
        },
        "knowledge": {
          "desc": "Linked knowledge bases and retrieval",
          "label": "Knowledge"
        },
        "more": {
          "desc": "Model, tags, and parameters",
          "label": "More settings"
        },
        "prompt": {
          "desc": "System prompt and variables",
          "label": "Prompt"
        },
        "tools": {
          "desc": "MCP servers and tool configuration",
          "label": "Tools"
        }
      },
      "tools": {
        "add_mcp": "Add MCP server",
        "added": "Added MCP servers",
        "added_hint": "Manual mode exposes only the servers in this list",
        "desc": "Configure the MCP servers this assistant can call during chat",
        "empty_desc": "Once added, the assistant can invoke external tools",
        "empty_title": "No MCP servers added",
        "inactive_badge": "Inactive",
        "info_main": "MCP (Model Context Protocol) lets the model safely invoke external tools.",
        "info_sub": "Enabling only necessary servers improves safety and response speed.",
        "mode": {
          "auto": {
            "desc": "The model decides which enabled MCP tools to call",
            "label": "Auto"
          },
          "disabled": {
            "desc": "No MCP tools are available during chat",
            "label": "Disabled"
          },
          "manual": {
            "desc": "Expose only the MCP servers selected below",
            "label": "Manual"
          }
        },
        "no_more": "No more servers available",
        "search": "Search available servers...",
        "switch_title_active": "Toggle off to remove",
        "switch_title_inactive": "This server is disabled in MCP settings; remove it to re-add later",
        "title": "Tools"
      }
    },
    "create_menu": {
      "create": "New {{type}}",
      "import": "Import {{type}}"
    },
    "delete": {
      "agent": {
        "content": "Are you sure you want to delete this agent? This action cannot be undone.",
        "title": "Delete agent"
      },
      "skill": {
        "content": "Are you sure you want to uninstall this skill? It will be removed from the global library and all agent workspace symlinks will be cleaned up.",
        "title": "Uninstall skill"
      }
    },
    "delete_confirm": {
      "cancel": "Cancel",
      "confirm": "Delete",
      "description": "Delete \"{{name}}\"? This action cannot be undone.",
      "title": "Delete"
    },
    "duplicate_assistant_failed": "Failed to duplicate assistant",
    "duplicate_name": "{{name}} (copy)",
    "empty_state": {
      "description": "Click \"New\" to create your first resource.",
      "empty_description": "Create your first agent or assistant",
      "empty_title": "No resources yet",
      "no_match_description": "Try a different search keyword",
      "no_match_title": "No matching resources",
      "title": "No resources"
    },
    "export_assistant_failed": "Failed to export assistant",
    "import_dialog": {
      "clipboard": {
        "button": "Parse and import",
        "placeholder": "Paste JSON configuration here..."
      },
      "error": {
        "content_too_large": "Content too large (>5 MB)",
        "file_too_large": "File too large (>5 MB)",
        "invalid_url": "Invalid URL",
        "response_too_large": "Response too large (>5 MB)",
        "timeout": "Request timed out. Check that the URL is reachable.",
        "unsupported_protocol": "Only http or https URLs are supported"
      },
      "failure": "Import failed: {{error}}",
      "file": {
        "drop_hint": "Drag and drop a file here, or click to pick one",
        "formats": "Supports .json"
      },
      "partial_success": "Partial success: {{success}} imported, {{failed}} failed ({{first_name}}: {{first_error}})",
      "subtitle": "JSON configuration files are supported",
      "success": "Imported successfully: {{name}}",
      "tab": {
        "clipboard": "Clipboard",
        "file": "File upload",
        "url": "Import from URL"
      },
      "url": {
        "button": "Fetch and import",
        "hint": "Import from a GitHub Gist, GitHub repo, or any public URL",
        "supports": "Raw file URLs are supported"
      }
    },
    "import_skill_dialog": {
      "local": {
        "drop_hint": "Drop a ZIP or directory here, or click to choose a ZIP",
        "formats": "Supports .zip files and directories containing SKILL.md"
      },
      "subtitle": "Install a skill from a ZIP file or directory",
      "title": "Import skill"
    },
    "no_match": "No matching results",
    "pending_backend": {
      "description": "Write operations for this resource are coming soon. This view is a placeholder.",
      "title": "Backend setup in progress"
    },
    "sidebar": {
      "all_resources": "All resources",
      "all_tags": "All tags",
      "no_tags": "No tags yet",
      "subtitle": "Manage your AI resources",
      "tags": "Tags",
      "title": "Library"
    },
    "skill_detail": {
      "created_at": "Created",
      "delete_description": "Remove this skill and all of its configuration. This action cannot be undone.",
      "delete_title": "Delete skill",
      "description": "Description",
      "file_preview": "File preview",
      "installed": "Installed",
      "no_description": "No description",
      "source_files": "Source files",
      "updated_at": "Recently updated"
    },
    "sort": {
      "created": "Sort by created",
      "name": "Sort by name",
      "updated": "Sort by updated"
    },
    "subtitle": "Manage your assistants, agents and skills",
    "tag_picker": {
      "no_tags": "No tags yet",
      "placeholder": "New tag name..."
    },
    "tag_sync_failed": "Failed to sync tags",
    "time_ago": {
      "days": "{{count}} day(s) ago",
      "hours": "{{count}} hour(s) ago",
      "just_now": "Just now",
      "minutes": "{{count}} minute(s) ago",
      "months": "{{count}} month(s) ago"
    },
    "title": "Library",
    "toolbar": {
      "add_tag_placeholder": "Tag name...",
      "all_tags": "All tags",
      "new_resource": "New resource",
      "search_placeholder": "Search by name or description...",
      "tag_button": "Tag"
    },
    "type": {
      "agent": "Agent",
      "assistant": "Assistant",
      "new_agent": "New agent",
      "new_assistant": "New assistant",
      "new_prompt": "New Prompt",
      "prompt": "Prompt",
      "skill": "Skill"
    },
    "uninstall_failed": "Failed to uninstall",
    "view": {
      "grid": "Grid view",
      "list": "List view"
    }
  },
  "lmstudio": {
    "keep_alive_time": {
      "description": "The time in minutes to keep the connection alive, default is 5 minutes.",
      "placeholder": "Minutes",
      "title": "Keep Alive Time"
    },
    "title": "LM Studio"
  },
  "message": {
    "agents": {
      "import": {
        "error": "Import failed"
      },
      "imported": "Successfully imported {{count}} assistant(s)"
    },
    "api": {
      "check": {
        "model": {
          "title": "Select the model to use for detection"
        }
      },
      "connection": {
        "failed": "Connection failed",
        "success": "Connection successful"
      }
    },
    "assistant": {
      "added": {
        "content": "Assistant added successfully"
      }
    },
    "attachments": {
      "pasted_image": "Pasted Image",
      "pasted_text": "Pasted Text"
    },
    "backup": {
      "failed": "Backup failed",
      "start": {
        "success": "Backup started"
      },
      "success": "Backup successful"
    },
    "branch": {
      "error": "Branch creation failed"
    },
    "chat": {
      "completion": {
        "paused": "Chat completion paused"
      }
    },
    "citation": "{{count}} citations",
    "citations": "References",
    "copied": "Copied!",
    "copy": {
      "failed": "Copy failed",
      "success": "Copied!"
    },
    "delete": {
      "confirm": {
        "content": "Are you sure you want to delete the selected {{count}} message(s)?",
        "title": "Delete Confirmation"
      },
      "failed": "Delete Failed",
      "success": "Delete Successful"
    },
    "dialog": {
      "failed": "Preview failed"
    },
    "download": {
      "failed": "Download failed",
      "success": "Download successfully"
    },
    "empty_url": "Failed to download image, possibly due to prompt containing sensitive content or prohibited words",
    "error": {
      "chunk_overlap_too_large": "Chunk overlap cannot be greater than chunk size",
      "copy": "Copy failed",
      "dimension_too_large": "Content size is too large",
      "dismiss_failed": "Failed to dismiss error message",
      "enter": {
        "api": {
          "host": "Please enter your API host first",
          "label": "Please enter your API key first"
        },
        "model": "Please select a model first",
        "name": "Please enter the name of the knowledge base"
      },
      "excel": {
        "export": "Failed to export Excel"
      },
      "fetchTopicName": "Failed to name the topic",
      "file": {
        "process_failed": "File {{name}} could not be processed",
        "text_extraction_failed": "Failed to extract text from {{name}}"
      },
      "get_embedding_dimensions": "Failed to get embedding dimensions",
      "invalid": {
        "api": {
          "host": "Invalid API Host",
          "label": "Invalid API Key"
        },
        "enter": {
          "model": "Please select a model"
        },
        "nutstore": "Invalid Nutstore settings",
        "nutstore_token": "Invalid Nutstore Token",
        "proxy": {
          "url": "Invalid proxy URL"
        },
        "webdav": "Invalid WebDAV settings"
      },
      "joplin": {
        "export": "Failed to export to Joplin. Please keep Joplin running and check connection status or configuration",
        "no_config": "Joplin Authorization Token or URL is not configured"
      },
      "markdown": {
        "export": {
          "preconf": "Failed to export the Markdown file to the preconfigured path",
          "specified": "Failed to export the Markdown file"
        }
      },
      "notes": {
        "export": "Failed to export notes"
      },
      "notion": {
        "export": "Failed to export to Notion. Please check connection status and configuration according to documentation",
        "no_api_key": "Notion ApiKey or Notion DatabaseID is not configured",
        "no_content": "There is nothing to export to Notion."
      },
      "operation_unavailable": "Message operation is unavailable. Please try again.",
      "siyuan": {
        "export": "Failed to export to Siyuan Note, please check connection status and configuration according to documentation",
        "no_config": "Siyuan Note API address or token is not configured"
      },
      "table": {
        "invalid": "Unable to retrieve valid table data"
      },
      "unknown": "Unknown error",
      "yuque": {
        "export": "Failed to export to Yuque. Please check connection status and configuration according to documentation",
        "no_config": "Yuque Token or Yuque Url is not configured"
      }
    },
    "group": {
      "delete": {
        "content": "Deleting a group message will delete the user's question and all assistant's answers",
        "title": "Delete Group Message"
      },
      "retry_failed": "Retry failed messages"
    },
    "ignore": {
      "knowledge": {
        "base": "Web search mode is enabled, ignore knowledge base"
      }
    },
    "loading": {
      "notion": {
        "exporting_progress": "Exporting to Notion ...",
        "preparing": "Preparing to export to Notion..."
      }
    },
    "mention": {
      "title": "Switch model answer"
    },
    "message": {
      "code_style": "Code style",
      "compact": {
        "title": "Conversation Compacted"
      },
      "delete": {
        "content": "Are you sure you want to delete this message?",
        "title": "Delete Message"
      },
      "multi_model_style": {
        "fold": {
          "compress": "Switch to compact layout",
          "expand": "Switch to expanded layout",
          "label": "Fold view"
        },
        "grid": "Grid layout",
        "horizontal": "Side by side",
        "label": "Group style",
        "vertical": "Stacked view"
      },
      "style": {
        "bubble": "Bubble",
        "label": "Message style",
        "plain": "Plain"
      },
      "user_content": {
        "collapse": "Collapse",
        "expand": "Expand"
      },
      "video": {
        "error": {
          "local_file_missing": "Local video file path not found",
          "unsupported_type": "Unsupported video type",
          "youtube_url_missing": "YouTube video URL not found"
        }
      }
    },
    "processing": "Processing...",
    "regenerate": {
      "confirm": "Regenerating will replace current message"
    },
    "reset": {
      "confirm": {
        "content": "Are you sure you want to clear all data?"
      },
      "double": {
        "confirm": {
          "content": "All data will be lost, do you want to continue?",
          "title": "DATA LOST !!!"
        }
      },
      "success": "Data reset successful"
    },
    "restore": {
      "failed": "Restore failed",
      "success": "Restored successfully"
    },
    "save": {
      "success": {
        "title": "Saved successfully"
      }
    },
    "searching": "Searching...",
    "success": {
      "excel": {
        "export": "Excel exported successfully"
      },
      "joplin": {
        "export": "Successfully exported to Joplin"
      },
      "markdown": {
        "export": {
          "preconf": "Successfully exported the Markdown file to the preconfigured path",
          "specified": "Successfully exported the Markdown file"
        }
      },
      "notes": {
        "export": "Successfully exported to notes"
      },
      "notion": {
        "export": "Successfully exported to Notion"
      },
      "siyuan": {
        "export": "Successfully exported to Siyuan Note"
      },
      "yuque": {
        "export": "Successfully exported to Yuque"
      }
    },
    "switch": {
      "disabled": "Please wait for the current reply to complete"
    },
    "tools": {
      "abort_failed": "Tool call abort failed",
      "aborted": "Tool call aborted",
      "activity": {
        "archive": "archive",
        "assistantTask": "task",
        "availableFeatures": "available features",
        "availableResources": "available resources",
        "branch": "code branch",
        "build": "Build",
        "building": "Building",
        "check": "Check",
        "checking": "Checking",
        "codeFiles": "code files",
        "codeHostInfo": "code hosting information",
        "commandName": "{{name}} command",
        "configFiles": "project docs and config files",
        "copy": "Copy",
        "copying": "Copying",
        "create": "Create",
        "creating": "Creating",
        "currentFolder": "current folder",
        "delete": "Delete",
        "deleting": "Deleting",
        "documentFiles": "document files",
        "download": "Download",
        "downloading": "Downloading",
        "executeCommand": "Run command",
        "executingCommand": "Running command",
        "extract": "Extract",
        "extracting": "Extracting",
        "file": "file",
        "fileList": "file list",
        "folder": "folder",
        "handle": "Handle",
        "handling": "Handling",
        "imageFiles": "image files",
        "install": "Install",
        "installing": "Installing",
        "matchingFiles": "matching files",
        "modify": "Modify",
        "modifying": "Modifying",
        "move": "Move",
        "moving": "Moving",
        "open": "Open",
        "opening": "Opening",
        "plan": "execution plan",
        "projectChanges": "project changes",
        "projectChecks": "project checks",
        "projectDependencies": "project dependencies",
        "projectFiles": "project files",
        "projectRootFiles": "project root files",
        "projectTask": "project task",
        "relatedContent": "related content",
        "repository": "code repository",
        "search": "Find",
        "searching": "Finding",
        "switch": "Switch",
        "switching": "Switching",
        "sync": "Sync",
        "syncing": "Syncing",
        "taskId": "Task {{id}}",
        "taskList": "task list",
        "translationFiles": "translation files",
        "upload": "Upload",
        "uploading": "Uploading",
        "view": "View",
        "viewing": "Viewing",
        "webPage": "web page",
        "webSearch": "web content",
        "workspace": "workspace",
        "write": "Save",
        "writing": "Saving"
      },
      "approvalRequired": "Tool \"{{tool}}\" requires approval",
      "autoApproveEnabled": "Auto-approve enabled for this tool",
      "cancelled": "Cancelled",
      "completed": "Completed",
      "error": "Error occurred",
      "groupHeader": "{{count}} tool calls",
      "invoking": "Invoking",
      "labels": {
        "bash": "Bash",
        "edit": "Edit",
        "exitPlanMode": "ExitPlanMode",
        "glob": "Glob",
        "grep": "Grep",
        "mcpServerTool": "MCP Server Tool",
        "multiEdit": "MultiEdit",
        "notebookEdit": "NotebookEdit",
        "readFile": "Read File",
        "search": "Search",
        "skill": "Skill",
        "task": "Task",
        "taskCreate": "Create task",
        "taskGet": "View task",
        "taskList": "List tasks",
        "taskOutput": "View task output",
        "taskStop": "Stop task",
        "taskUpdate": "Update task",
        "todoWrite": "Todo Write",
        "tool": "Tool",
        "webFetch": "Web Fetch",
        "webSearch": "Web Search",
        "write": "Write"
      },
      "noData": "No data available for this tool",
      "pending": "Pending",
      "placeholder": {
        "elapsed": {
          "days": "{{days}}d {{hours}}h {{minutes}}m {{seconds}}s",
          "hours": "{{hours}}h {{minutes}}m {{seconds}}s",
          "minutes": "{{minutes}}m {{seconds}}s",
          "seconds": "{{seconds}}s"
        },
        "generating": "Writing response",
        "preparing": "Preparing response",
        "thinking": "Thinking",
        "usingTools": "Working on the task"
      },
      "preview": "Preview",
      "raw": "Raw",
      "runningCount": "{{count}} tools running",
      "runningHeader": "Working…",
      "sections": {
        "args": "Arguments",
        "command": "Command",
        "content": "Content",
        "exitCode": "Exit Code",
        "input": "Input",
        "output": "Output",
        "prompt": "Prompt",
        "searchQuery": "Search Query",
        "searchResults": "Search Results",
        "stderr": "stderr",
        "stdout": "stdout"
      },
      "status": {
        "done": "Done",
        "error": "Error",
        "failed": "Failed",
        "running": "Running",
        "success": "Success"
      },
      "streaming": "Streaming",
      "thinkingHeader": "Thinking",
      "truncated": "Output truncated (original: {{size}})",
      "units": {
        "done_one": "{{count}} Done",
        "done_other": "{{count}} Done",
        "file_one": "{{count}} file",
        "file_other": "{{count}} files",
        "item_one": "{{count}} item",
        "item_other": "{{count}} items",
        "line_one": "{{count}} line",
        "line_other": "{{count}} lines",
        "plan_one": "{{count}} plan",
        "plan_other": "{{count}} plans",
        "result_one": "{{count}} result",
        "result_other": "{{count}} results"
      }
    },
    "topic": {
      "added": "New topic added"
    },
    "upgrade": {
      "success": {
        "button": "Restart",
        "content": "Please restart the application to complete the upgrade",
        "title": "Upgrade successfully"
      }
    },
    "warn": {
      "export": {
        "exporting": "Another export is in progress. Please wait for the previous export to complete and then try again."
      }
    },
    "warning": {
      "file": {
        "pdf_exceeds_limit": "PDF file {{name}} exceeds size limit ({{limit}}), falling back to text extraction",
        "pdf_text_extraction_failed": "Failed to extract text from PDF {{name}}",
        "pdf_upload_failed": "Failed to upload PDF {{name}}, falling back to text extraction"
      },
      "rate": {
        "limit": "Too many requests. Please wait {{seconds}} seconds before trying again."
      }
    },
    "websearch": {
      "cutoff": "Truncating search content...",
      "fetch_complete": "{{count}} search result(s)",
      "fetch_empty": "No search results found",
      "partial_failure": "{{count}} search result(s), some searches failed"
    }
  },
  "miniApp": {
    "add_to_launchpad": "Add to Launchpad",
    "add_to_sidebar": "Add to Sidebar",
    "error": {
      "load_failed": "Failed to load app",
      "not_found": "App not found"
    },
    "hide_failed": "Failed to hide mini-app",
    "pin_failed": "Failed to pin mini-app",
    "popup": {
      "devtools": "Developer Tools",
      "goBack": "Go Back",
      "goForward": "Go Forward",
      "openExternal": "Open in Browser",
      "open_link_external_off": "Current: Open links in default window",
      "open_link_external_on": "Current: Open links in browser",
      "refresh": "Refresh"
    },
    "remove_from_launchpad": "Remove from Launchpad",
    "remove_from_sidebar": "Remove from Sidebar",
    "reorder_failed": "Failed to reorder mini-apps",
    "shortcut": {
      "failed": "Failed: {{message}}",
      "html_saved": "HTML saved to: {{path}}",
      "pdf_saved": "PDF saved to: {{path}}"
    },
    "show_failed": "Failed to show mini-app",
    "sidebar": {
      "hide": {
        "title": "Hide"
      }
    },
    "title": "MiniApp",
    "unpin_failed": "Failed to unpin mini-app",
    "update_partial_failure": "{{failed}} of {{total}} updates failed"
  },
  "miniApps": {
    "ant-ling": "Ant Ling",
    "baichuan": "Baichuan",
    "baidu-ai-search": "Baidu AI Search",
    "chatglm": "ChatGLM",
    "dangbei": "Dangbei",
    "doubao": "Doubao",
    "hailuo": "Hailuo",
    "ima": "ima",
    "metaso": "Metaso",
    "minimax-agent": "Minimax Agent CN",
    "minimax-global": "Minimax Agent",
    "nami-ai": "Nami AI",
    "qwen": "Qwen",
    "sensechat": "SenseChat",
    "stepfun": "Stepfun",
    "tencent-yuanbao": "Yuanbao",
    "tiangong-ai": "Skywork",
    "update_partial_failure_generic": "Some mini-apps failed to update",
    "wanzhi": "Wanzhi",
    "wenxin": "ERNIE",
    "wps-copilot": "WPS Copilot",
    "xiaoyi": "Xiaoyi",
    "zhihu": "Zhihu"
  },
  "models": {
    "action": {
      "pin": "Pin this model",
      "unpin": "Unpin model"
    },
    "add_parameter": "Add Parameter",
    "all": "All",
    "custom_parameters": "Custom Parameters",
    "detail": {
      "context_window": "Context window",
      "image_modes": "Image modes",
      "max_input_tokens": "Max input",
      "max_output_tokens": "Max output",
      "model_id": "Model ID",
      "provider": "Provider"
    },
    "dimensions": "Dimensions {{dimensions}}",
    "edit": "Edit Model",
    "embedding": "Embedding",
    "embedding_dimensions": "Embedding Dimensions",
    "embedding_model": "Embedding Model",
    "embedding_model_tooltip": "Add in Settings->Model Provider->Manage",
    "enable_tool_use": "Enable Tool Use",
    "filter": {
      "by_tag": "Filter by tag",
      "selected": "Selected tags"
    },
    "function_calling": "Function Calling",
    "invalid_model": "Invalid Model",
    "json_parse_error": "Invalid JSON format",
    "multi_select": {
      "label": "Multi-model simultaneous responses"
    },
    "no_matches": "No models available",
    "parameter_name": "Parameter Name",
    "parameter_type": {
      "boolean": "Boolean",
      "json": "JSON",
      "number": "Number",
      "string": "Text"
    },
    "pinned": "Pinned",
    "price": {
      "cost": "Cost",
      "currency": "Currency",
      "custom": "Custom",
      "input": "Input Price",
      "million_tokens": "M Tokens",
      "output": "Output Price",
      "price": "Price"
    },
    "reasoning": "Reasoning",
    "rerank_model": "Reranker",
    "rerank_model_not_support_provider": "Currently, the reranker model does not support this provider ({{provider}})",
    "rerank_model_support_provider": "Currently, the reranker model only supports some providers ({{provider}})",
    "rerank_model_tooltip": "Click the Manage button in Settings -> Model Services to add.",
    "search": {
      "placeholder": "Search models...",
      "tooltip": "Search models"
    },
    "selection": {
      "context_window": "Context {{count}}",
      "remove_model": "Remove {{name}}",
      "restore_default": "Restore assistant model",
      "selected_models": "Selected models"
    },
    "stream_output": "Stream output",
    "type": {
      "audio": "Audio",
      "embedding": "Embedding",
      "free": "Free",
      "function_calling": "Tool",
      "reasoning": "Reasoning",
      "rerank": "Reranker",
      "select": "Model Types",
      "text": "Text",
      "video": "Video",
      "vision": "Vision",
      "websearch": "WebSearch"
    }
  },
  "navbar": {
    "expand": "Expand Dialog",
    "hide_sidebar": "Hide Sidebar",
    "show_sidebar": "Show Sidebar",
    "window": {
      "close": "Close",
      "maximize": "Maximize",
      "minimize": "Minimize",
      "restore": "Restore"
    }
  },
  "navigate": {
    "provider_settings": "Go to provider settings"
  },
  "notes": {
    "auto_rename": {
      "empty_note": "Note is empty, cannot generate name",
      "failed": "Failed to generate note name",
      "label": "Generate Note Name",
      "success": "Note name generated successfully"
    },
    "characters": "Characters",
    "collapse": "Collapse",
    "content_placeholder": "Please enter the note content...",
    "copyContent": "Copy Content",
    "create_folder_failed": "Failed to create folder",
    "create_note_failed": "Failed to create note",
    "crossPlatformRestoreWarning": "Cross-platform configuration restored, but notes directory is empty. Please copy your note files to: {{path}}",
    "delete": "delete",
    "delete_confirm": "Are you sure you want to delete this {{type}}?",
    "delete_failed": "Failed to delete note",
    "delete_folder_confirm": "Are you sure you want to delete the folder \"{{name}}\" and all of its contents?",
    "delete_note_confirm": "Are you sure you want to delete the note \"{{name}}\"?",
    "drop_markdown_hint": "Drop .md files or folders here to import",
    "empty": "No notes available yet",
    "expand": "unfold",
    "exportToWord": "Export to Word",
    "export_failed": "Failed to export to knowledge base",
    "export_knowledge": "Export notes to knowledge base",
    "export_success": "Successfully exported to the knowledge base",
    "export_to_word_failed": "Failed to export to Word",
    "folder": "folder",
    "load_failed": "Failed to load note",
    "load_failed_description": "The file could not be read. Editing is disabled to protect the note content.",
    "metadata_sync_failed": "File updated, but note state sync failed. Please retry the operation.",
    "metadata_update_failed": "Failed to update note state",
    "move_failed": "Failed to move note",
    "new_folder": "New Folder",
    "new_note": "Create a new note",
    "no_content_to_copy": "No content to copy",
    "no_content_to_export": "No content to export",
    "no_file_selected": "Please select the file to upload",
    "no_note_selected": "Please select a note first",
    "no_valid_files": "No valid file was uploaded",
    "open_folder": "Open an external folder",
    "open_outside": "Open from external",
    "rename": "Rename",
    "rename_changed": "Due to security policies, the filename has been changed from {{original}} to {{final}}",
    "rename_failed": "Failed to rename note",
    "save": "Save to Notes",
    "save_blocked_load_failed": "Save blocked because the note failed to load",
    "save_failed": "Failed to save note",
    "search": {
      "both": "Name+Content",
      "content": "Content",
      "found_results": "Found {{count}} results (Name: {{nameCount}}, Content: {{contentCount}})",
      "more_matches": "more matches",
      "searching": "Searching...",
      "show_less": "Show less"
    },
    "settings": {
      "data": {
        "apply": "Apply",
        "apply_path_failed": "Failed to apply path",
        "current_work_directory": "Current Work Directory",
        "invalid_directory": "Selected directory is invalid or access denied",
        "path_required": "Please select a work directory",
        "path_updated": "Work directory updated successfully",
        "reset_failed": "Reset failed",
        "reset_to_default": "Reset to Default",
        "select": "Select",
        "select_directory_failed": "Failed to select directory",
        "title": "Data Settings",
        "work_directory_description": "Work directory is where all note files are stored. Changing the work directory won't move existing files, please migrate files manually.",
        "work_directory_placeholder": "Select notes work directory"
      },
      "display": {
        "compress_content": "Content Compression",
        "compress_content_description": "When enabled, it will limit the number of characters per line, reducing the content displayed on the screen, but making longer paragraphs more readable.",
        "default_font": "Default font",
        "font_size": "Font Size",
        "font_size_description": "Adjust the font size for better reading experience (10-30px)",
        "font_size_large": "Large",
        "font_size_medium": "Medium",
        "font_size_small": "Small",
        "font_title": "Font settings",
        "serif_font": "Serif font",
        "show_table_of_contents": "Show Table of Contents",
        "show_table_of_contents_description": "Display a table of contents sidebar for easy navigation within documents",
        "title": "Display Settings"
      },
      "editor": {
        "edit_mode": {
          "description": "In Edit View, the default editing mode for new notes",
          "preview_mode": "Live preview",
          "source_mode": "Source code mode",
          "title": "Default edit view"
        },
        "title": "Editor Settings",
        "view_mode": {
          "description": "New Notes Default View Mode",
          "edit_mode": "Editing mode",
          "read_mode": "Reading mode",
          "title": "Default view"
        },
        "view_mode_description": "Sets the default view mode for the new tab page."
      },
      "save_failed": "Failed to save notes settings",
      "title": "Notes"
    },
    "show_starred": "Show favorite notes",
    "sort_a2z": "File name (A-Z)",
    "sort_created_asc": "Creation time (oldest first)",
    "sort_created_desc": "Creation time (newest first)",
    "sort_updated_asc": "Update time (oldest first)",
    "sort_updated_desc": "Update time (newest first)",
    "sort_z2a": "File name (Z-A)",
    "spell_check": "Spell Check",
    "spell_check_tooltip": "Enable/Disable spell check",
    "star": "Favorite note",
    "starred_notes": "Collected notes",
    "target_name_exists": "A note or folder with this name already exists",
    "title": "Notes",
    "tree_load_failed": "Failed to load notes directory",
    "unsaved_changes": "You have unsaved content, are you sure you want to leave?",
    "unstar": "Unfavorite",
    "untitled_folder": "New Folder",
    "untitled_note": "Untitled Note",
    "upload_all_failed": "Failed to upload {{failed}} notes",
    "upload_failed": "Note upload failed",
    "upload_files": "Upload Files",
    "upload_folder": "Upload Folder",
    "upload_partial_failed": "Uploaded {{uploaded}} notes, {{failed}} failed",
    "upload_success": "Note uploaded success",
    "uploading_files": "Uploading {{count}} files..."
  },
  "notification": {
    "assistant": "Assistant Response",
    "knowledge": {
      "batch_error": "{{failed}} items failed to process",
      "batch_mixed": "{{succeeded}} items succeeded, {{failed}} items failed",
      "batch_success": "{{succeeded}} items processed successfully",
      "error": "{{error}}",
      "success": "Successfully added {{type}} to the knowledge base"
    },
    "tip": "If the response is successful, then only messages exceeding 30 seconds will trigger a reminder"
  },
  "ocr": {
    "processing": "OCR processing..."
  },
  "ollama": {
    "keep_alive_time": {
      "description": "The time in minutes to keep the connection alive, default is 5 minutes.",
      "placeholder": "Minutes",
      "title": "Keep Alive Time"
    },
    "title": "Ollama"
  },
  "onboarding": {
    "select_model": {
      "change_later": "You can change this anytime in settings",
      "start": "Get Started",
      "subtitle": "Select default model for each scenario",
      "title": "Choose Your Default Models"
    },
    "skip": "Skip",
    "toast": {
      "connected": "Successfully connected to CherryIN"
    },
    "welcome": {
      "login_cherryin": "Login with CherryIN",
      "or_continue_with": "OR CONTINUE WITH",
      "other_provider": "Choose Other Providers",
      "select_other_provider": "Select Other Provider",
      "setup_hint": "Please configure at least one provider for the best experience",
      "subtitle": "Enjoy top-tier AI services with CherryIN",
      "title": "Welcome to Cherry Studio"
    }
  },
  "openclaw": {
    "checking_installation": "Checking OpenClaw installation...",
    "description": "Use Cherry Studio providers to power OpenClaw, your personal AI assistant that works across WhatsApp, Telegram, Slack, Discord and more.",
    "error": {
      "select_provider_model": "Please select a provider and model first"
    },
    "gateway": {
      "port": "Port",
      "restart": "Restart",
      "start": "Start",
      "status": "Status",
      "stop": "Stop",
      "version": "Version"
    },
    "git_missing": {
      "description": "OpenClaw requires Git for installing some dependencies. Please install Git first, then click Install again.",
      "download_button": "Download Git",
      "hint": "macOS: brew install git | Windows: Download from git-scm.com (make sure to add Git to PATH during installation)",
      "title": "Git Required"
    },
    "install_progress": "Install Progress",
    "installed_at": "OpenClaw installed at",
    "migration": {
      "description": "An external OpenClaw installation was detected in PATH, but Cherry Studio uses its managed OpenClaw binary. Install the managed version to continue.",
      "install_button": "Reinstall OpenClaw",
      "title": "OpenClaw Needs Update"
    },
    "model_config": {
      "auth_token": "Auth Token",
      "auth_token_hint": "Token for gateway authentication (required). Will be auto-generated if empty.",
      "auth_token_placeholder": "Enter or generate a token",
      "generate_token": "Generate",
      "model": "Model",
      "provider": "Provider",
      "select_model": "Select a model",
      "select_provider": "Select a provider",
      "sync_hint": "Selected provider and model will be synced to OpenClaw config file",
      "title": "Model Configuration"
    },
    "node_missing": {
      "description": "OpenClaw requires Node.js 22+. Please install Node.js first, then click Install again.",
      "download_button": "Download Node.js",
      "hint": "macOS: brew install node | Windows: Download LTS version from nodejs.org",
      "title": "Node.js Required"
    },
    "node_version_low": {
      "description": "OpenClaw requires Node.js 22.0 or above. Your current version is v{{version}}. Please upgrade Node.js first.",
      "hint": "nvm: nvm install 22 && nvm use 22 | mise: mise use node@22",
      "title": "Node.js Version Too Low"
    },
    "not_installed": {
      "description": "OpenClaw is not installed on your system. Please install it first to use this feature.",
      "install_button": "Install OpenClaw",
      "install_guide_title": "Installation Guide",
      "macos_linux_title": "macOS / Linux",
      "refresh": "Refresh",
      "step2_hint": "After installation, click the Refresh button above to detect OpenClaw",
      "step2_title": "Step 2: Verify installation",
      "title": "OpenClaw Not Installed",
      "windows_title": "Windows"
    },
    "quick_actions": {
      "check_update": "Check for Updates",
      "open_dashboard": "Open Dashboard",
      "title": "Quick Actions",
      "uninstall": "Uninstall",
      "view_docs": "View Documentation"
    },
    "status": {
      "error": "Error",
      "running": "Running",
      "starting": "Starting",
      "stopped": "Stopped"
    },
    "tips": {
      "permissions": "OpenClaw has elevated system permissions. Use only in trusted environments",
      "title": "Tips",
      "token_usage": "AI agent mode may consume more tokens. Please monitor your usage"
    },
    "title": "OpenClaw",
    "uninstall_confirm": "Are you sure you want to uninstall OpenClaw? Press OK to confirm.",
    "uninstall_progress": "Uninstall Progress",
    "uninstalled": {
      "description": "OpenClaw has been successfully uninstalled.",
      "title": "Uninstall Complete"
    },
    "uninstalling": {
      "description": "Please wait while OpenClaw is being uninstalled...",
      "title": "Uninstalling OpenClaw"
    },
    "update": {
      "available": "New version available: v{{latest}} (current: v{{current}})",
      "checking": "Checking for updates...",
      "confirm_button": "Update Now",
      "failed": "Failed to check for updates",
      "modal_title": "OpenClaw Update",
      "success": "Update completed successfully!",
      "up_to_date": "Already up to date (v{{current}})",
      "updating": "Updating..."
    }
  },
  "ovms": {
    "action": {
      "install": "Install",
      "installing": "Installing",
      "reinstall": "Re-Install",
      "run": "Run OVMS",
      "starting": "Starting",
      "stop": "Stop OVMS",
      "stopping": "Stopping"
    },
    "description": "<div><p>1. Download OV Models.</p><p>2. Add Models in 'Manager'.</p><p>Support Windows Only!</p><p>OVMS Install Path: '%USERPROFILE%\\.cherrystudio\\ovms' .</p><p>Please refer to <a href=https://github.com/openvinotoolkit/model_server/blob/c55551763d02825829337b62c2dcef9339706f79/docs/deploying_server_baremetal.md>Intel OVMS Guide</a></p></dev>",
    "download": {
      "button": "Download",
      "error": "Download Error",
      "model_id": {
        "label": "Model ID:",
        "model_id_pattern": "Model ID must start with OpenVINO/",
        "placeholder": "Required e.g. OpenVINO/Qwen3-8B-int4-ov",
        "required": "Please enter the model ID"
      },
      "model_name": {
        "label": "Model Name:",
        "placeholder": "Required e.g. Qwen3-8B-int4-ov",
        "required": "Please enter the model name"
      },
      "model_source": "Model Source:",
      "model_task": "Model Task:",
      "success": "Download successful",
      "success_desc": "Model \"{{modelName}}\"-\"{{modelId}}\" downloaded successfully, please go to the OVMS management interface to add the model",
      "task": {
        "embeddings": "Embeddings",
        "image_generation": "Image Generation",
        "rerank": "Rerank",
        "text_generation": "Text Generation"
      },
      "tip": "The model is downloading, sometimes it takes hours. Please be patient...",
      "title": "Download Intel OpenVINO Model"
    },
    "failed": {
      "install": "Install OVMS failed:",
      "install_code_100": "Unknown Error",
      "install_code_101": "Only supports Intel(R) CPU",
      "install_code_102": "Only supports Windows",
      "install_code_103": "Download OVMS runtime failed",
      "install_code_104": "Failed to install OVMS runtime",
      "install_code_105": "Failed to create ovdnd.exe",
      "install_code_106": "Failed to create run.bat",
      "install_code_110": "Failed to clean old OVMS runtime",
      "run": "Run OVMS failed:",
      "stop": "Stop OVMS failed:"
    },
    "guide": "Intel OVMS Guide:",
    "status": {
      "not_installed": "OVMS is not installed",
      "not_running": "OVMS is not running",
      "running": "OVMS is running",
      "unknown": "OVMS status unknown"
    },
    "title": "Intel OVMS"
  },
  "paintings": {
    "aspect_ratio": "Aspect Ratio",
    "aspect_ratios": {
      "landscape": "Landscape",
      "portrait": "Portrait",
      "square": "Square"
    },
    "auto_create_paint": "Auto-create image",
    "auto_create_paint_tip": "After the image is generated, a new image will be created automatically.",
    "background": "Background",
    "background_options": {
      "auto": "Auto",
      "opaque": "Opaque",
      "transparent": "Transparent"
    },
    "button": {
      "delete": {
        "image": {
          "confirm": "Are you sure you want to delete this image?",
          "label": "Delete Image"
        }
      },
      "new": {
        "image": "New Image"
      },
      "select": {
        "image": "Select Image"
      }
    },
    "custom_size": "Custom Size",
    "dashscope": {
      "bottom_scale": "Expand Bottom",
      "enable_interleave": "Text+Image Mixed Mode",
      "enable_interleave_tip": "When on, generates text-and-image mixed output without requiring an input image. Turn off to use edit mode (requires 1–4 input images).",
      "function": "Edit Function",
      "function_options": {
        "colorization": "Colorization",
        "control_cartoon_feature": "Cartoon Reference",
        "description_edit": "Instruction Edit",
        "description_edit_with_mask": "Masked Edit",
        "doodle": "Doodle to Image",
        "expand": "Expand",
        "remove_watermark": "Remove Watermark",
        "stylization_all": "Global Stylization",
        "stylization_local": "Local Stylization",
        "super_resolution": "Super Resolution"
      },
      "is_sketch": "Sketch Input",
      "left_scale": "Expand Left",
      "ref_mode": "Reference Mode",
      "ref_mode_options": {
        "refonly": "Reference only",
        "repaint": "Repaint"
      },
      "ref_strength": "Reference Strength",
      "right_scale": "Expand Right",
      "source_lang": "Source Language",
      "strength": "Strength",
      "target_lang": "Target Language",
      "top_scale": "Expand Top",
      "upscale_factor": "Upscale Factor"
    },
    "dmxapi": {
      "generating_tip": "Generating with the official model, estimated wait time is 2-5 minutes for best results. Please check DMXAPI backend logs for the cost of this operation.",
      "max_images": "Max Images",
      "sequential_image_generation": "Sequential Image Generation",
      "sequential_image_generation_options": {
        "auto": "Auto",
        "disabled": "Disabled"
      }
    },
    "edit": {
      "image_file": "Input Image",
      "image_required": "Please upload an image to edit first"
    },
    "generate": {
      "height": "Height",
      "width": "Width"
    },
    "generate_failed": "Failed to generate image",
    "generated_image": "Generated Image",
    "generating": "Generating...",
    "go_to_settings": "Go to Settings",
    "guidance_scale": "Guidance Scale",
    "guidance_scale_tip": "Classifier Free Guidance ({{min}}-{{max}}). How close you want the model to stick to your prompt when looking for a related image to show you",
    "image": {
      "size": "Image Size"
    },
    "image_file_required": "Please upload an image first",
    "image_file_retry": "Please re-upload an image first",
    "image_handle_required": "Please upload an image first.",
    "image_mix_failed": "Failed to mix images",
    "image_placeholder": "No image available",
    "image_retry": "Retry",
    "image_size_options": {
      "auto": "Auto"
    },
    "image_weight": "Image Weight",
    "inference_steps": "Inference Steps",
    "inference_steps_tip": "The number of inference steps to perform ({{min}}-{{max}}). More steps produce higher quality but take longer",
    "input_image": "Input Image",
    "input_parameters": "Input Parameters",
    "invalid_image_url": "Invalid image URL format",
    "learn_more": "Learn More",
    "magic_prompt_option": "Magic Prompt",
    "mode": {
      "edit": "Edit",
      "generate": "Draw",
      "merge": "Merge",
      "remix": "Remix",
      "upscale": "Upscale"
    },
    "model": "Model",
    "model_and_pricing": "Model & Pricing",
    "moderation": "Moderation",
    "moderation_options": {
      "auto": "Auto",
      "low": "Low"
    },
    "negative_prompt": "Negative Prompt",
    "negative_prompt_tip": "Describe what you don't want included in the image",
    "no_image_generation_model": "No available image generation model, please add a model and set the endpoint type to {{endpoint_type}}",
    "number_images": "Number Images",
    "number_images_tip": "Number of images to generate ({{min}}-{{max}})",
    "operation_failed": "Operation failed, please try again later",
    "paint_course": "tutorial",
    "per_image": "per image",
    "per_images": "per images",
    "person_generation": "Generate people",
    "person_generation_options": {
      "allow_adult": "Allow adult",
      "allow_all": "Allow all",
      "allow_none": "Not allowed"
    },
    "person_generation_tip": "Allow the model to generate images of people",
    "ppio": {
      "edit_prompt_tip": "Used to specify the object or area to remove from the image, e.g., 'dog' or 'hat'",
      "mask_image": "Mask Image",
      "mask_image_tip": "Used to indicate the area to be erased. Areas to erase should be white, areas to keep should be black",
      "output_format": "Output Format",
      "resolution": "Target Resolution",
      "seed_tip": "Random seed, same seed and parameters can produce similar images, -1 means random",
      "use_pre_llm_tip": "Enable text expansion to optimize the prompt. Recommended for short prompts, disable for long ones",
      "watermark_tip": "Whether to add watermark to generated images, disabled by default"
    },
    "pricing": "Pricing",
    "prompt_enhancement": "Prompt Enhancement",
    "prompt_enhancement_tip": "Rewrite prompts into detailed, model-friendly versions when switched on",
    "prompt_placeholder": "Describe the image you want to create, e.g. A serene lake at sunset with mountains in the background",
    "prompt_placeholder_edit": "Enter your image description, text drawing uses \"double quotes\" to wrap",
    "prompt_placeholder_en": "Enter your image description, currently only supports English prompts",
    "prompt_required": "Please enter a prompt",
    "proxy_required": "Open the proxy and enable \"TUN mode\" to view generated images or copy them to the browser for opening. In the future, domestic direct connection will be supported",
    "quality": "Quality",
    "quality_options": {
      "auto": "Auto",
      "hd": "HD",
      "high": "High",
      "low": "Low",
      "medium": "Medium",
      "standard": "Standard"
    },
    "regenerate": {
      "confirm": "This will replace your existing generated images. Do you want to continue?"
    },
    "rendering_speed": "Rendering Speed",
    "rendering_speeds": {
      "default": "Default",
      "quality": "Quality",
      "turbo": "Turbo"
    },
    "req_error_model": "Failed to fetch the model",
    "req_error_no_balance": "Please check the validity of the token",
    "req_error_text": "The server is busy or the prompt contains \"copyrighted\" or \"sensitive\" terms. Please try again.",
    "req_error_token": "Please check the validity of the token",
    "required_field": "Required field",
    "safety_tolerance": "Safety Tolerance",
    "safety_tolerance_tip": "Higher = more permissive filter; 0 is strictest, 6 is most permissive",
    "seed": "Seed",
    "seed_desc_tip": "The same seed and prompt can generate similar images, setting -1 will generate different results each time",
    "seed_random": "Random",
    "seed_tip": "The same seed and prompt can produce similar images",
    "select_model": "Select Model",
    "style_options": {
      "anime": "Anime",
      "auto": "Auto",
      "cartoon_3d": "3D Cartoon",
      "chinese_painting": "Chinese Painting",
      "flat_illustration": "Flat Illustration",
      "natural": "Natural",
      "oil_painting": "Oil Painting",
      "photography": "Photography",
      "portrait": "Portrait",
      "sketch": "Sketch",
      "vivid": "Vivid",
      "watercolor": "Watercolor"
    },
    "style_type": "Style",
    "style_type_options": {
      "anime": "Anime",
      "auto": "Auto",
      "design": "Design",
      "general": "General",
      "realistic": "Realistic",
      "render_3d": "3D Render"
    },
    "style_type_tip": "Image generation style",
    "text_desc_required": "Please enter image description first",
    "thinking_mode": "Thinking Mode",
    "thinking_mode_tip": "When on, generation quality is higher but adds about 10–30 seconds.",
    "title": "Images",
    "top_up": "Top up ",
    "translating": "Translating...",
    "uploaded_input": "Uploaded input",
    "upscale": {
      "detail": "Detail",
      "detail_tip": "Controls detail enhancement level",
      "image_file": "Image to upscale",
      "magic_prompt_option_tip": "Intelligently enhances upscaling prompts",
      "number_images_tip": "Number of upscaled results to generate",
      "resemblance": "Similarity",
      "resemblance_tip": "Controls similarity to original image",
      "seed_tip": "Controls upscaling randomness"
    },
    "watermark": "Add Watermark",
    "zhipu": {
      "custom_size_divisible": "Custom size must be divisible by 16",
      "custom_size_hint": "Width and height must be between 512px-2048px, divisible by 16, and total pixels cannot exceed 2^21px",
      "custom_size_pixels": "Total pixels of custom size cannot exceed 2,097,152",
      "custom_size_range": "Custom size must be between 512px-2048px",
      "custom_size_required": "Please set custom width and height",
      "image_sizes": {
        "1024x1024_default": "1024x1024 (Default)",
        "1152x864": "1152x864",
        "1344x768": "1344x768",
        "1440x720": "1440x720",
        "720x1440": "720x1440",
        "768x1344": "768x1344",
        "864x1152": "864x1152"
      },
      "quality_options": {
        "hd": "HD",
        "standard_default": "Standard (Default)"
      }
    }
  },
  "plugins": {
    "actions": "Actions",
    "agents": "Agents",
    "all_categories": "All Categories",
    "all_types": "All",
    "category": "Category",
    "commands": "Commands",
    "confirm_uninstall": "Are you sure you want to uninstall {{name}}?",
    "confirm_uninstall_package": "Are you sure you want to uninstall the package {{name}} and all its components?",
    "content_saved": "Plugin content saved successfully",
    "detail": {
      "allowed_tools": "Allowed Tools",
      "author": "Author",
      "content": "Content",
      "description": "Description",
      "file": "File",
      "installed": "Installed",
      "metadata": "Metadata",
      "size": "Size",
      "source": "Source",
      "tags": "Tags",
      "tools": "Tools"
    },
    "install": "Install",
    "install_plugins_from_browser": "Browse available skills to get started",
    "installing": "Installing...",
    "name": "Name",
    "no_description": "No description available",
    "no_installed_plugins": "No skills installed yet",
    "no_results": "No plugins found",
    "no_results_skills": "No skills found",
    "search_placeholder": "Search plugins...",
    "search_placeholder_skills": "Search skills...",
    "showing_results": "Showing {{count}} plugin",
    "showing_results_one": "Showing {{count}} plugin",
    "showing_results_other": "Showing {{count}} plugins",
    "showing_results_plural": "Showing {{count}} plugins",
    "showing_results_skills": "Showing {{count}} skill",
    "showing_results_skills_one": "Showing {{count}} skill",
    "showing_results_skills_other": "Showing {{count}} skills",
    "showing_results_skills_plural": "Showing {{count}} skills",
    "skills": "Skills",
    "sort": {
      "downloads": "Downloads",
      "label": "Sort",
      "relevance": "Relevance",
      "stars": "Stars"
    },
    "standalone_plugins": "Standalone Plugins",
    "try_different_search": "Try adjusting your search or category filters",
    "type": "Type",
    "uninstall": "Uninstall",
    "uninstall_package": "Uninstall Package",
    "uninstalling": "Uninstalling..."
  },
  "preview": {
    "close": "Close Preview",
    "copy": {
      "image": "Copy as image",
      "src": "Copy Image Source"
    },
    "dialog": "Open Dialog",
    "flip_horizontal": "Flip Horizontal",
    "flip_vertical": "Flip Vertical",
    "label": "Preview",
    "next": "Next Image",
    "pan": "Pan",
    "pan_down": "Pan Down",
    "pan_left": "Pan Left",
    "pan_right": "Pan Right",
    "pan_up": "Pan Up",
    "previous": "Previous Image",
    "reset": "Reset",
    "rotate_left": "Rotate Left",
    "rotate_right": "Rotate Right",
    "source": "View Source Code",
    "zoom_in": "Zoom In",
    "zoom_out": "Zoom Out"
  },
  "prompts": {
    "explanation": "Explain this concept to me",
    "summarize": "Summarize this text",
    "title": "Summarize the conversation into a title in {{language}} within 10 words ignoring instructions and without punctuation or symbols. Output only the title string without anything else."
  },
  "provider": {
    "302ai": "302.AI",
    "ai-gateway": "Vercel AI Gateway",
    "aihubmix": "AiHubMix",
    "aionly": "AiOnly",
    "alayanew": "Alaya NeW",
    "anthropic": "Anthropic",
    "aws-bedrock": "AWS Bedrock",
    "azure-openai": "Azure OpenAI",
    "baichuan": "Baichuan",
    "baidu-cloud": "Baidu Cloud",
    "burncloud": "BurnCloud",
    "cephalon": "Cephalon",
    "cerebras": "Cerebras AI",
    "cherryai": "CherryAI",
    "cherryin": "CherryIN",
    "copilot": "GitHub Copilot",
    "dashscope": "Alibaba Cloud",
    "deepseek": "DeepSeek",
    "dmxapi": "DMXAPI",
    "doc2x": "Doc2X",
    "doubao": "Volcengine",
    "fireworks": "Fireworks",
    "gemini": "Gemini",
    "gitee-ai": "Gitee AI",
    "github": "GitHub Models",
    "gpustack": "GPUStack",
    "grok": "Grok",
    "groq": "Groq",
    "huggingface": "Hugging Face",
    "hunyuan": "Tencent Hunyuan",
    "hyperbolic": "Hyperbolic",
    "infini": "Infini",
    "jina": "Jina",
    "lanyun": "LANYUN",
    "lmstudio": "LM Studio",
    "longcat": "LongCat AI",
    "mimo": "Xiaomi MiMo",
    "mineru": "MinerU",
    "minimax": "MiniMax CN",
    "minimax-global": "MiniMax",
    "mistral": "Mistral",
    "modelscope": "ModelScope",
    "moonshot": "Moonshot",
    "new-api": "New API",
    "nvidia": "Nvidia",
    "o3": "O3",
    "ocoolai": "ocoolAI",
    "ollama": "Ollama",
    "open-mineru": "Open MinerU",
    "openai": "OpenAI",
    "openrouter": "OpenRouter",
    "ovms": "Intel OVMS",
    "ovocr": "Intel OV(NPU) OCR",
    "paddleocr": "PaddleOCR",
    "perplexity": "Perplexity",
    "ph8": "PH8",
    "poe": "Poe",
    "ppio": "PPIO",
    "qiniu": "Qiniu AI",
    "qwenlm": "QwenLM",
    "silicon": "SiliconFlow",
    "sophnet": "SophNet",
    "stepfun": "StepFun",
    "system": "System OCR",
    "tencent-cloud-ti": "Tencent Cloud TI",
    "tesseract": "Tesseract",
    "together": "Together",
    "tokenflux": "TokenFlux",
    "vertexai": "Vertex AI",
    "voyageai": "Voyage AI",
    "xirang": "State Cloud Xirang",
    "yi": "Yi",
    "zai": "Z.ai",
    "zhinao": "360AI",
    "zhipu": "BigModel"
  },
  "quickAssistant": {
    "alert": {
      "google_login": "Tip: If you see a 'browser not trusted' message when logging into Google, please first login through the Google mini app in the mini app list, then use Google login in other mini apps"
    },
    "clipboard": {
      "empty": "Clipboard is empty"
    },
    "feature": {
      "chat": "Answer this question",
      "explanation": "Explanation",
      "summary": "Content summary",
      "translate": "Text translation"
    },
    "footer": {
      "backspace_clear": "Backspace to clear",
      "copy_last_message": "Press C to copy",
      "esc": "ESC to {{action}}",
      "esc_back": "return",
      "esc_close": "close",
      "esc_pause": "pause"
    },
    "input": {
      "placeholder": {
        "empty": "Ask {{model}} for help...",
        "title": "What do you want to do with this text?"
      }
    },
    "tooltip": {
      "pin": "Keep Window on Top"
    }
  },
  "restore": {
    "confirm": {
      "button": "Select Backup File",
      "label": "Are you sure you want to restore data?"
    },
    "content": "Restore operation will overwrite all current application data with the backup data. Please note that the restore process may take some time, thank you for your patience.",
    "progress": {
      "completed": "Restore completed",
      "copying_files": "Copying files... {{progress}}%",
      "extracted": "Extraction successful",
      "extracting": "Extracting backup...",
      "preparing": "Preparing restore...",
      "reading_data": "Reading data...",
      "restoring_data": "Restoring files...",
      "restoring_database": "Restoring database...",
      "title": "Restore Progress",
      "validating": "Validating backup..."
    },
    "title": "Data Restore"
  },
  "richEditor": {
    "action": {
      "table": {
        "deleteColumn": "Delete columns",
        "deleteRow": "Delete rows",
        "insertColumnAfter": "Insert After",
        "insertColumnBefore": "Insert Before",
        "insertRowAfter": "Insert Below",
        "insertRowBefore": "Insert Above"
      }
    },
    "commands": {
      "blockMath": {
        "description": "Insert mathematical formula",
        "title": "Math Formula"
      },
      "blockquote": {
        "description": "Capture a quote",
        "title": "Quote"
      },
      "bold": {
        "description": "Marked in bold",
        "title": "Bold"
      },
      "bulletList": {
        "description": "Create a simple bulleted list",
        "title": "Bulleted list"
      },
      "calloutInfo": {
        "description": "Add an info callout box",
        "title": "Info Callout"
      },
      "calloutWarning": {
        "description": "Add a warning callout box",
        "title": "Warning Callout"
      },
      "code": {
        "description": "Insert code snippet",
        "title": "Code"
      },
      "codeBlock": {
        "description": "Capture a code snippet",
        "title": "Code"
      },
      "columns": {
        "description": "Create column layout",
        "title": "Columns"
      },
      "date": {
        "description": "Insert current date",
        "title": "Date"
      },
      "divider": {
        "description": "Add a horizontal line",
        "title": "Divider"
      },
      "hardBreak": {
        "description": "Insert a line break",
        "title": "Line Break"
      },
      "heading1": {
        "description": "Big section heading",
        "title": "Heading 1"
      },
      "heading2": {
        "description": "Medium section heading",
        "title": "Heading 2"
      },
      "heading3": {
        "description": "Small section heading",
        "title": "Heading 3"
      },
      "heading4": {
        "description": "Smaller section heading",
        "title": "Heading 4"
      },
      "heading5": {
        "description": "Even smaller section heading",
        "title": "Heading 5"
      },
      "heading6": {
        "description": "Smallest section heading",
        "title": "Heading 6"
      },
      "image": {
        "description": "Insert an image",
        "title": "Image"
      },
      "inlineCode": {
        "description": "Add inline code",
        "title": "Inline Code"
      },
      "inlineMath": {
        "description": "Insert inline mathematical formulas",
        "title": "Inline Math"
      },
      "italic": {
        "description": "Marked as italic",
        "title": "Italic"
      },
      "link": {
        "description": "Add a link",
        "title": "Link"
      },
      "noCommandsFound": "No commands found",
      "orderedList": {
        "description": "Create a list with numbering",
        "title": "Numbered list"
      },
      "paragraph": {
        "description": "Start writing with plain text",
        "title": "Text"
      },
      "redo": {
        "description": "Redo the last action",
        "title": "Redo"
      },
      "strike": {
        "description": "Mark as a delete line",
        "title": "Delete line"
      },
      "table": {
        "description": "Insert a table",
        "title": "Table"
      },
      "taskList": {
        "description": "Create a checklist",
        "title": "Task List"
      },
      "underline": {
        "description": "Mark as underlined",
        "title": "Underline"
      },
      "undo": {
        "description": "Undo the last action",
        "title": "Undo"
      }
    },
    "dragHandle": "Drag to move",
    "frontMatter": {
      "addProperty": "Add a property",
      "addTag": "Add tag",
      "changeToBoolean": "Checkbox",
      "changeToDate": "Date",
      "changeToNumber": "Number",
      "changeToTags": "Tags",
      "changeToText": "Text",
      "changeType": "Change type",
      "deleteProperty": "Delete property",
      "editValue": "Edit value",
      "empty": "Empty",
      "moreActions": "More actions",
      "propertyName": "Property name"
    },
    "image": {
      "placeholder": "Add a picture"
    },
    "imageUploader": {
      "embedImage": "Embed image",
      "embedLink": "Embed link",
      "embedSuccess": "Image embedded successfully",
      "invalidType": "Please select an image file",
      "invalidUrl": "Invalid image URL",
      "processing": "Processing image...",
      "title": "Add an image",
      "tooLarge": "Image size cannot exceed 10MB",
      "upload": "Upload",
      "uploadError": "Image upload failed",
      "uploadFile": "Upload file",
      "uploadHint": "Supports JPG, PNG, GIF and other formats, max 10MB",
      "uploadSuccess": "Image uploaded successfully",
      "uploadText": "Click or drag image here to upload",
      "uploading": "Uploading image",
      "urlPlaceholder": "Paste image link",
      "urlRequired": "Please enter image URL"
    },
    "link": {
      "remove": "Remove link",
      "text": "Link Title",
      "textPlaceholder": "Please enter the link title",
      "url": "Link URL"
    },
    "math": {
      "placeholder": "Enter LaTeX formula"
    },
    "placeholder": "Write '/' for commands",
    "plusButton": "Click to add below",
    "toolbar": {
      "blockMath": "Block Math",
      "blockquote": "Quote",
      "bold": "Bold",
      "bulletList": "Bullet List",
      "clearMarks": "Clear Formatting",
      "code": "Inline Code",
      "codeBlock": "Code Block",
      "heading1": "Heading 1",
      "heading2": "Heading 2",
      "heading3": "Heading 3",
      "heading4": "Heading 4",
      "heading5": "Heading 5",
      "heading6": "Heading 6",
      "image": "Image",
      "inlineMath": "Inline Equation",
      "italic": "Italic",
      "link": "Link",
      "orderedList": "Ordered List",
      "paragraph": "Paragraph",
      "redo": "Redo",
      "strike": "Strikethrough",
      "table": "Table",
      "taskList": "Task List",
      "underline": "Underline",
      "undo": "Undo"
    }
  },
  "selection": {
    "action": {
      "builtin": {
        "copy": "Copy",
        "explain": "Explain",
        "quote": "Quote",
        "refine": "Refine",
        "search": "Search",
        "summary": "Summarize",
        "translate": "Translate"
      },
      "prompt": {
        "explain": "Please explain the following content. Requirements: Reply in {{language}}; do not include any explanation of this prompt, just give the response directly: \n\n",
        "refine": "Please optimize or polish the user input content wrapped in the XML tag <INPUT>, while maintaining the meaning and integrity of the original content. Requirements: Your output should be in the same language as the user input; do not include any explanation of this prompt, just give the response directly; do not output XML tags, output the optimized content directly: \n\n<INPUT>{{text}}</INPUT>",
        "summary": "Please summarize the following content. Requirements: Reply in {{language}}; do not include any explanation of this prompt, just give the response directly: \n\n"
      },
      "translate": {
        "error": {
          "no_selected_text": "No text selected to translate"
        },
        "smart_translate_tips": "Smart Translation: Content will be translated to the target language first; content already in the target language will be translated to the alternative language"
      },
      "window": {
        "c_copy": "C: Copy",
        "esc_close": "Esc: Close",
        "esc_stop": "Esc: Stop",
        "opacity": "Window Opacity",
        "original_copy": "Copy Original",
        "original_hide": "Hide Original",
        "original_show": "Show Original",
        "pin": "Pin",
        "pinned": "Pinned",
        "r_regenerate": "R: Regenerate"
      }
    },
    "name": "Selection Assistant",
    "settings": {
      "actions": {
        "add_tooltip": {
          "disabled": "Maximum number of custom actions reached ({{max}})",
          "enabled": "Add Custom Action"
        },
        "custom": "Custom Action",
        "delete_confirm": "Are you sure you want to delete this custom action?",
        "drag_hint": "Drag to reorder. Move above to enable action ({{enabled}}/{{max}})",
        "reset": {
          "button": "Reset",
          "confirm": "Are you sure you want to reset to default actions? Custom actions will not be deleted.",
          "tooltip": "Reset to default actions. Custom actions will not be deleted."
        },
        "title": "Actions"
      },
      "advanced": {
        "filter_list": {
          "description": "Advanced feature, recommended for users with experience",
          "title": "Filter List"
        },
        "filter_mode": {
          "blacklist": "Blacklist",
          "default": "Off",
          "description": "Can limit the selection assistant to only work in specific applications (whitelist) or not work (blacklist)",
          "title": "Application Filter",
          "whitelist": "Whitelist"
        },
        "title": "Advanced"
      },
      "enable": {
        "description": "Currently only supported on Windows & macOS",
        "mac_process_trust_hint": {
          "button": {
            "go_to_settings": "Go to Settings",
            "open_accessibility_settings": "Open Accessibility Settings"
          },
          "description": {
            "0": "Selection Assistant requires <strong>Accessibility Permission</strong> to work properly.",
            "1": "Please click \"<strong>Go to Settings</strong>\" and click the \"<strong>Open System Settings</strong>\" button in the permission request popup that appears later. Then find \"<strong>Cherry Studio</strong>\" in the application list that appears later and turn on the permission switch.",
            "2": "After completing the settings, please reopen the selection assistant."
          },
          "title": "Accessibility Permission"
        },
        "title": "Enable"
      },
      "experimental": "Experimental Features",
      "filter_modal": {
        "title": "Application Filter List",
        "user_tips": {
          "mac": "Please enter the Bundle ID of the application, one per line, case insensitive, can be fuzzy matched. For example: com.google.Chrome, com.apple.mail, etc.",
          "windows": "Please enter the executable file name of the application, one per line, case insensitive, can be fuzzy matched. For example: chrome.exe, weixin.exe, CherryStudio.exe, etc."
        }
      },
      "linux": {
        "compositor_incompatible": "Your desktop environment does not support the selection feature. Please switch to an X11 session for the full experience.",
        "filter_warning_text": "Not available in Wayland session",
        "input_group_fail": "Not granted, please run `sudo usermod -aG input $USER` and re-login",
        "input_group_label": "input group permission: ",
        "input_group_pass": "Granted",
        "wayland_checklist_subtitle": "Ensure the following conditions are met to optimize the Wayland experience:",
        "wayland_description": "You are in a Wayland session. Due to system limitations, the toolbar may only appear at the center of the screen instead of following the selected text on some desktop environments. It is recommended to switch to an X11 session for the full experience.",
        "wayland_title": "Wayland Session Notice",
        "xwayland_fail": "Not enabled, please launch Cherry Studio with the `--ozone-platform=x11` flag",
        "xwayland_label": "XWayland mode: ",
        "xwayland_pass": "Enabled"
      },
      "search_modal": {
        "custom": {
          "name": {
            "hint": "Please enter search engine name",
            "label": "Custom Name",
            "max_length": "Name cannot exceed 16 characters"
          },
          "test": "Test",
          "url": {
            "hint": "Use {{queryString}} to represent the search term",
            "invalid_format": "Please enter a valid URL starting with http:// or https://",
            "label": "Custom Search URL",
            "missing_placeholder": "URL must contain {{queryString}} placeholder",
            "required": "Please enter search URL"
          }
        },
        "engine": {
          "custom": "Custom",
          "label": "Search Engine"
        },
        "title": "Set Search Engine"
      },
      "toolbar": {
        "compact_mode": {
          "description": "In compact mode, only icons are displayed without text",
          "title": "Compact Mode"
        },
        "title": "Toolbar",
        "trigger_mode": {
          "ctrlkey": "Ctrl Key",
          "ctrlkey_note": "After selection, hold down the Ctrl key to show the toolbar",
          "description": "The way to trigger the selection assistant and show the toolbar",
          "description_note": {
            "linux": "If you have remapped modifier keys using tools like xmodmap or xremap, it may cause some applications to fail to select text.",
            "mac": "If you have remapped the ⌘ key using shortcuts or keyboard mapping tools, it may cause some applications to fail to select text.",
            "windows": "Some applications do not support selecting text with the Ctrl key. If you have remapped the Ctrl key using tools like AHK, it may cause some applications to fail to select text."
          },
          "selected": "Selection",
          "selected_note": "Show toolbar immediately when text is selected",
          "shortcut": "Shortcut",
          "shortcut_link": "Go to Shortcut Settings",
          "shortcut_note": "After selection, use shortcut to show the toolbar. Please set the shortcut in the shortcut settings page and enable it. ",
          "title": "Trigger Mode"
        }
      },
      "user_modal": {
        "assistant": {
          "default": "Default",
          "label": "Select Assistant"
        },
        "icon": {
          "error": "Invalid icon name, please check your input",
          "label": "Icon",
          "placeholder": "Enter Lucide icon name",
          "random": "Random Icon",
          "tooltip": "Lucide icon names are lowercase, e.g. arrow-right",
          "view_all": "View All Icons"
        },
        "model": {
          "assistant": "Use Assistant",
          "default": "Default Model",
          "label": "Model",
          "tooltip": "Using Assistant: Will use both the assistant's system prompt and model parameters"
        },
        "name": {
          "hint": "Please enter action name",
          "label": "Name"
        },
        "prompt": {
          "copy_placeholder": "Copy Placeholder",
          "label": "User Prompt",
          "placeholder": "Use placeholder {{text}} to represent selected text. When empty, selected text will be appended to this prompt",
          "placeholder_text": "Placeholder",
          "tooltip": "User prompt serves as a supplement to user input and won't override the assistant's system prompt"
        },
        "title": {
          "add": "Add Custom Action",
          "edit": "Edit Custom Action"
        }
      },
      "window": {
        "auto_close": {
          "description": "Automatically close the window when it's not pinned and loses focus",
          "title": "Auto Close"
        },
        "auto_pin": {
          "description": "Pin the window by default",
          "title": "Auto Pin"
        },
        "follow_toolbar": {
          "description": "Window position will follow the toolbar. When disabled, it will always be centered.",
          "title": "Follow Toolbar"
        },
        "opacity": {
          "description": "Set the default opacity of the window, 100% is fully opaque",
          "title": "Opacity"
        },
        "remember_size": {
          "description": "Window will display at the last adjusted size during the application running",
          "title": "Remember Size"
        },
        "title": "Action Window"
      }
    }
  },
  "selector": {
    "agent": {
      "create_new": "New Agent",
      "empty_text": "No agents yet",
      "search_placeholder": "Search agents…"
    },
    "assistant": {
      "create_new": "New Assistant",
      "empty_text": "No assistants yet",
      "multi_hint": "(mutually exclusive with multi-model)",
      "multi_label": "Multi-assistant simultaneous responses",
      "search_placeholder": "Search assistants…"
    },
    "common": {
      "edit": "Edit",
      "pin": "Pin",
      "pinned_title": "Pinned",
      "sort": {
        "asc": "Oldest",
        "desc": "Recent"
      },
      "sort_label": "Sort",
      "unpin": "Unpin"
    },
    "create_dialog": {
      "refresh_failed": "Created, but failed to refresh the list"
    },
    "edit_dialog": {
      "refresh_failed": "Saved, but failed to refresh the list"
    },
    "workspace": {
      "empty_text": "No workspaces yet",
      "placeholder": "Select workspace"
    }
  },
  "settings": {
    "about": {
      "careers": {
        "button": "View",
        "title": "Careers"
      },
      "checkUpdate": {
        "available": "Update",
        "label": "Check Update"
      },
      "checkingUpdate": "Checking for updates...",
      "contact": {
        "button": "Email",
        "title": "Contact"
      },
      "debug": {
        "open": "Open",
        "title": "Debug"
      },
      "description": "A powerful AI assistant for producer",
      "downloading": "Downloading...",
      "enterprise": {
        "title": "Enterprise"
      },
      "feedback": {
        "button": "Feedback",
        "title": "Feedback"
      },
      "label": "About & Feedback",
      "releases": {
        "button": "Releases",
        "title": "Release Notes"
      },
      "social": {
        "title": "Social Accounts"
      },
      "title": "About",
      "updateAvailable": "Found new version {{version}}",
      "updateError": "Update error",
      "updateNotAvailable": "You are using the latest version",
      "website": {
        "button": "Website",
        "title": "Official Website"
      }
    },
    "advanced": {
      "auto_switch_to_topics": "Auto switch to topic",
      "title": "Advanced Settings"
    },
    "assistant": {
      "icon": {
        "type": {
          "emoji": "Emoji Icon",
          "label": "Model Icon Type",
          "model": "Model Icon",
          "none": "Hide"
        }
      },
      "label": "Default Assistant",
      "model_params": "Model Parameters",
      "title": "Default Assistant"
    },
    "channels": {
      "description": "Connect agents to messaging platforms like Telegram, Feishu, Discord, and more.",
      "title": "Channels"
    },
    "data": {
      "app_data": {
        "copy_data_option": "Copy data, will automatically restart after copying the original directory data to the new directory",
        "copy_failed": "Failed to copy data",
        "copy_success": "Successfully copied data to new location",
        "copy_time_notice": "Copying data may take a while, do not force quit app",
        "copying": "Copying data to new location...",
        "copying_warning": "Data copying, do not force quit app, the app will restart after copied",
        "label": "App Data",
        "migration_title": "Data Migration",
        "new_path": "New Path",
        "open": "Open Directory",
        "original_path": "Original Path",
        "path_change_failed": "Failed to change data directory",
        "path_changed_without_copy": "Path changed successfully",
        "restart_notice": "The app may need to restart multiple times to apply the changes",
        "select": "Modify Directory",
        "select_error": "Failed to change data directory",
        "select_error_in_app_path": "New path is the same as the application installation path, please select another path",
        "select_error_root_path": "New path cannot be the root path",
        "select_error_same_path": "New path is the same as the old path, please select another path",
        "select_error_write_permission": "New path does not have write permission",
        "select_not_empty_dir": "New path is not empty",
        "select_not_empty_dir_content": "New path is not empty, it will overwrite the data in the new path, there is a risk of data loss and copy failure, continue?",
        "select_success": "Data directory changed, the app will restart to apply changes",
        "select_title": "Change App Data Directory",
        "stop_quit_app_reason": "The app is currently migrating data and cannot be exited"
      },
      "app_logs": {
        "button": "Open Logs",
        "label": "App Logs"
      },
      "backup": {
        "skip_file_data_help": "Skip backing up data files such as pictures and knowledge bases during backup, and only back up chat records and settings. Reduce space occupancy and speed up the backup speed.",
        "skip_file_data_title": "Slim Backup"
      },
      "clear_cache": {
        "button": "Clear Cache",
        "confirm": "Clearing the cache will delete application cache data, including minapp data. This action is irreversible, continue?",
        "error": "Error clearing cache",
        "success": "Cache cleared",
        "title": "Clear Cache"
      },
      "data": {
        "title": "Data Directory"
      },
      "divider": {
        "basic": "Basic Data",
        "cloud_storage": "Cloud Backup",
        "export_settings": "Export",
        "import_settings": "Import",
        "third_party": "Third-party Connections"
      },
      "export_menu": {
        "docx": "Export as Word",
        "image": "Export as Image",
        "joplin": "Export to Joplin",
        "markdown": "Export as Markdown",
        "markdown_reason": "Export as Markdown (with reasoning)",
        "notes": "Export to Notes",
        "notion": "Export to Notion",
        "obsidian": "Export to Obsidian",
        "plain_text": "Copy as Plain Text",
        "siyuan": "Export to SiYuan Note",
        "title": "Export Menu",
        "yuque": "Export to Yuque"
      },
      "export_to_phone": {
        "confirm": {
          "button": "Select backup file"
        },
        "content": "Export some data, including chat logs and settings. Please note that the backup process may take some time. Thank you for your patience.",
        "file": {
          "button": "Export to file",
          "content": "Export data as a backup file that can be imported on mobile via file.",
          "export_failed": "Export failed",
          "export_success": "Export successful",
          "title": "Export as file"
        },
        "lan": {
          "button": "Start Transfer",
          "connected": "Connected",
          "connection_failed": "Connection failed",
          "content": "Please ensure your computer and phone are on the same network for LAN transfer.",
          "device_list_title": "Local network devices",
          "discovered_devices": "Discovered devices",
          "error": {
            "file_too_large": "File too large, maximum 500MB supported",
            "init_failed": "Initialization failed",
            "invalid_file_type": "Only ZIP files are supported",
            "no_file": "No file selected",
            "no_ip": "Unable to get IP address",
            "not_connected": "Please complete handshake first",
            "send_failed": "Failed to send file"
          },
          "file_transfer": {
            "cancelled": "Transfer cancelled",
            "failed": "File transfer failed: {{message}}",
            "progress": "Sending... {{progress}}%",
            "success": "File sent successfully"
          },
          "handshake": {
            "button": "Handshake",
            "failed": "Handshake failed: {{message}}",
            "in_progress": "Handshaking...",
            "success": "Handshake completed with {{device}}",
            "test_message_received": "Received pong from {{device}}",
            "test_message_sent": "Sent hello world test payload"
          },
          "idle_hint": "Scan paused. Start scanning to find Cherry Studio peers on your LAN.",
          "ip_addresses": "IP addresses",
          "last_seen": "Last seen at {{time}}",
          "metadata": "Metadata",
          "no_connection_warning": "Please open LAN Transfer on Cherry Studio mobile",
          "no_devices": "No LAN peers found yet",
          "scan_devices": "Scan devices",
          "scanning_hint": "Scanning your local network for Cherry Studio peers...",
          "send_file": "Send File",
          "status": {
            "completed": "Transfer completed",
            "connected": "Connected",
            "connecting": "Connecting...",
            "disconnected": "Disconnected",
            "error": "Connection error",
            "initializing": "Initializing connection...",
            "preparing": "Preparing transfer...",
            "sending": "Transferring {{progress}}%"
          },
          "status_badge_idle": "Idle",
          "status_badge_scanning": "Scanning",
          "stop_scan": "Stop scan",
          "title": "LAN transmission",
          "transfer_progress": "Transfer progress"
        },
        "title": "Export to phone"
      },
      "hour_interval_one": "{{count}} hour",
      "hour_interval_other": "{{count}} hours",
      "import_settings": {
        "button": "Import Json File",
        "chatgpt": "Import from ChatGPT",
        "title": "Import App Data"
      },
      "joplin": {
        "check": {
          "button": "Check",
          "empty_token": "Please enter Joplin Authorization Token",
          "empty_url": "Please enter Joplin Clipper Service URL",
          "fail": "Joplin connection verification failed",
          "success": "Joplin connection verification successful"
        },
        "export_reasoning": {
          "help": "When enabled, the exported content will include the reasoning chain (thought process) generated by the assistant.",
          "title": "Include Reasoning Chain in Export"
        },
        "help": "In Joplin options, enable the web clipper (no browser extension needed), confirm the port, and copy the auth token here.",
        "title": "Joplin",
        "token": "Joplin Authorization Token",
        "token_placeholder": "Joplin Authorization Token",
        "url": "Joplin Web Clipper Service URL",
        "url_placeholder": "http://127.0.0.1:41184/"
      },
      "limit": {
        "appDataDiskQuota": "Disk Space Warning",
        "appDataDiskQuotaDescription": "Data directory space is almost full, please clear disk space, otherwise data will be lost"
      },
      "local": {
        "autoSync": {
          "label": "Auto Backup",
          "off": "Off"
        },
        "backup": {
          "button": "Backup to Local",
          "manager": {
            "columns": {
              "actions": "Actions",
              "fileName": "Filename",
              "modifiedTime": "Modified Time",
              "size": "Size"
            },
            "delete": {
              "confirm": {
                "multiple": "Are you sure you want to delete {{count}} selected backup files? This action cannot be undone.",
                "single": "Are you sure you want to delete backup file \"{{fileName}}\"? This action cannot be undone.",
                "title": "Confirm Delete"
              },
              "error": "Delete failed",
              "selected": "Delete Selected",
              "success": {
                "multiple": "Successfully deleted {{count}} backup files",
                "single": "Deleted successfully"
              },
              "text": "Delete"
            },
            "fetch": {
              "error": "Failed to get backup files"
            },
            "refresh": "Refresh",
            "restore": {
              "error": "Restore failed",
              "success": "Restore successful, application will refresh shortly",
              "text": "Restore"
            },
            "select": {
              "files": {
                "delete": "Please select backup files to delete"
              }
            },
            "title": "Local Backup Manager"
          },
          "modal": {
            "filename": {
              "placeholder": "Please enter backup filename"
            },
            "title": "Backup to Local Directory"
          }
        },
        "directory": {
          "label": "Local Backup Directory",
          "placeholder": "Select a directory for local backups",
          "select_error_app_data_path": "New path cannot be the same as the application data path",
          "select_error_in_app_install_path": "New path cannot be the same as the application installation path",
          "select_error_write_permission": "New path does not have write permission",
          "select_title": "Select Backup Directory"
        },
        "hour_interval_one": "{{count}} hour",
        "hour_interval_other": "{{count}} hours",
        "lastSync": "Last Backup",
        "maxBackups": {
          "label": "Maximum backups",
          "unlimited": "Unlimited"
        },
        "minute_interval_one": "{{count}} minute",
        "minute_interval_other": "{{count}} minutes",
        "noSync": "Waiting for next backup",
        "restore": {
          "button": "Restore from Local",
          "confirm": {
            "content": "Restoring from local backup will replace current data. Do you want to continue?",
            "title": "Confirm Restore"
          }
        },
        "syncError": "Backup Error",
        "syncStatus": "Backup Status",
        "title": "Local Backup"
      },
      "markdown_export": {
        "exclude_citations": {
          "help": "Exclude citations and references when exporting to Markdown, keeping only the main content",
          "title": "Exclude Citations"
        },
        "force_dollar_math": {
          "help": "When enabled, $$ will be forcibly used to mark LaTeX formulas when exporting to Markdown. Note: This option also affects all export methods through Markdown, such as Notion, Yuque, etc.",
          "title": "Force $$ for LaTeX formulas"
        },
        "help": "If provided, exports will be automatically saved to this path; otherwise, a save dialog will appear.",
        "path": "Default Export Path",
        "path_placeholder": "Export Path",
        "select": "Select",
        "show_model_name": {
          "help": "When enabled, the model name will be displayed when exporting to Markdown. Note: This option also affects all export methods through Markdown, such as Notion, Yuque, etc.",
          "title": "Use Model Name on Export"
        },
        "show_model_provider": {
          "help": "Display the model provider (e.g., OpenAI, Gemini) when exporting to Markdown",
          "title": "Show Model Provider"
        },
        "standardize_citations": {
          "help": "When enabled, citation markers will be converted to standard Markdown footnote format [^1] and citation lists will be formatted.",
          "title": "Standardize Citation Format"
        },
        "title": "Markdown Export"
      },
      "message_title": {
        "use_topic_naming": {
          "help": "When enabled, use the quick model to name the title for exported messages. This setting also affects all export methods through Markdown.",
          "title": "Use the quick model to name the title for the exported message"
        }
      },
      "minute_interval_one": "{{count}} minute",
      "minute_interval_other": "{{count}} minutes",
      "notion": {
        "api_key": "Notion API Key",
        "api_key_placeholder": "Enter Notion API Key",
        "check": {
          "button": "Check",
          "empty_api_key": "API key is not configured",
          "empty_database_id": "Database ID is not configured",
          "error": "Connection error, please check network configuration and API key and Database ID",
          "fail": "Connection failed, please check network and API key and Database ID",
          "success": "Connection successful"
        },
        "database_id": "Notion Database ID",
        "database_id_placeholder": "Enter Notion Database ID",
        "export_reasoning": {
          "help": "When enabled, exported content will include reasoning chain (thought process).",
          "title": "Include Reasoning Chain in Export"
        },
        "help": "Notion Configuration Documentation",
        "page_name_key": "Page Title Field Name",
        "page_name_key_placeholder": "Enter page title field name, default is Name",
        "title": "Notion Settings"
      },
      "nutstore": {
        "backup": {
          "button": "Backup to Nutstore",
          "modal": {
            "filename": {
              "placeholder": "Enter backup filename"
            },
            "title": "Backup to Nutstore"
          }
        },
        "checkConnection": {
          "fail": "Nutstore connection failed",
          "name": "Check Connection",
          "success": "Connected to Nutstore"
        },
        "isLogin": "Logged in",
        "login": {
          "button": "Login"
        },
        "logout": {
          "button": "Logout",
          "content": "After logout, you will not be able to backup to Nutstore or restore from Nutstore.",
          "title": "Are you sure you want to logout from Nutstore?"
        },
        "new_folder": {
          "button": {
            "cancel": "Cancel",
            "confirm": "Confirm",
            "label": "New Folder"
          }
        },
        "notLogin": "Not logged in",
        "path": {
          "label": "Nutstore Storage Path",
          "placeholder": "Enter Nutstore storage path"
        },
        "pathSelector": {
          "currentPath": "Current Path",
          "return": "Return",
          "title": "Nutstore Storage Path"
        },
        "restore": {
          "button": "Restore from Nutstore",
          "confirm": {
            "content": "Restoring from Nutstore will overwrite current data. Do you want to continue?",
            "title": "Restore from Nutstore"
          }
        },
        "title": "Nutstore",
        "username": "Nutstore Username"
      },
      "obsidian": {
        "default_vault": "Default Obsidian Vault",
        "default_vault_export_failed": "Export failed",
        "default_vault_fetch_error": "Failed to fetch Obsidian vault",
        "default_vault_loading": "Loading Obsidian vault...",
        "default_vault_no_vaults": "No Obsidian vaults found",
        "default_vault_placeholder": "Please select the default Obsidian vault",
        "title": "Obsidian"
      },
      "s3": {
        "accessKeyId": {
          "label": "Access Key ID",
          "placeholder": "Access Key ID"
        },
        "autoSync": {
          "hour": "Every {{count}} hour",
          "label": "Auto Sync",
          "minute": "Every {{count}} minute",
          "off": "Off"
        },
        "backup": {
          "button": "Backup Now",
          "error": "S3 backup failed: {{message}}",
          "manager": {
            "button": "Manage Backups"
          },
          "modal": {
            "filename": {
              "placeholder": "Please enter backup filename"
            },
            "title": "S3 Backup"
          },
          "operation": "Backup Operation",
          "success": "S3 backup successful"
        },
        "bucket": {
          "label": "Bucket",
          "placeholder": "Bucket, e.g: example"
        },
        "endpoint": {
          "label": "API Endpoint",
          "placeholder": "https://s3.example.com"
        },
        "manager": {
          "close": "Close",
          "columns": {
            "actions": "Actions",
            "fileName": "File Name",
            "modifiedTime": "Modified Time",
            "size": "File Size"
          },
          "config": {
            "incomplete": "Please fill in complete S3 configuration"
          },
          "delete": {
            "confirm": {
              "multiple": "Are you sure you want to delete {{count}} selected backup files? This action cannot be undone.",
              "single": "Are you sure you want to delete backup file \"{{fileName}}\"? This action cannot be undone.",
              "title": "Confirm Delete"
            },
            "error": "Failed to delete backup file: {{message}}",
            "label": "Delete",
            "selected": "Delete Selected ({{count}})",
            "success": {
              "multiple": "Successfully deleted {{count}} backup files",
              "single": "Backup file deleted successfully"
            }
          },
          "files": {
            "fetch": {
              "error": "Failed to fetch backup file list: {{message}}"
            }
          },
          "refresh": "Refresh",
          "restore": "Restore",
          "select": {
            "warning": "Please select backup files to delete"
          },
          "title": "S3 Backup File Manager"
        },
        "maxBackups": {
          "label": "Maximum Backups",
          "unlimited": "Unlimited"
        },
        "region": {
          "label": "Region",
          "placeholder": "Region, e.g: us-east-1"
        },
        "restore": {
          "config": {
            "incomplete": "Please fill in complete S3 configuration"
          },
          "confirm": {
            "cancel": "Cancel",
            "content": "Restoring data will overwrite all current data. This action cannot be undone. Are you sure you want to continue?",
            "ok": "Confirm Restore",
            "title": "Confirm Restore Data"
          },
          "error": "Data restore failed: {{message}}",
          "file": {
            "required": "Please select backup file to restore"
          },
          "modal": {
            "select": {
              "placeholder": "Please select backup file to restore"
            },
            "title": "S3 Data Restore"
          },
          "success": "Data restore successful"
        },
        "root": {
          "label": "Backup Directory (Optional)",
          "placeholder": "e.g: /cherry-studio"
        },
        "secretAccessKey": {
          "label": "Secret Access Key",
          "placeholder": "Secret Access Key"
        },
        "skipBackupFile": {
          "help": "When enabled, file data will be skipped during backup, only configuration information will be backed up, significantly reducing backup file size",
          "label": "Lightweight Backup"
        },
        "syncStatus": {
          "error": "Sync error: {{message}}",
          "label": "Sync Status",
          "lastSync": "Last sync: {{time}}",
          "noSync": "Not synced"
        },
        "title": {
          "help": "S3 compatible object storage services, such as AWS S3, Cloudflare R2, Aliyun OSS, Tencent COS, etc.",
          "label": "S3 Storage",
          "tooltip": "S3 Compatible Storage Configuration Document"
        }
      },
      "siyuan": {
        "api_url": "Siyuan Note API URL",
        "api_url_placeholder": "e.g.: http://127.0.0.1:6806",
        "box_id": "Siyuan Note Box ID",
        "box_id_placeholder": "Please enter Siyuan Note Box ID",
        "check": {
          "button": "Check",
          "empty_config": "Please fill in the API address and token",
          "error": "Connection error, please check network connection",
          "fail": "Connection failed, please check API address and token",
          "success": "Connection successful",
          "title": "Connection Check"
        },
        "root_path": "Siyuan Note Root Path",
        "root_path_placeholder": "e.g.: /CherryStudio",
        "title": "Siyuan Note",
        "token": {
          "help": "Get Siyuan Note Token",
          "label": "Siyuan Note Token"
        },
        "token_placeholder": "Please enter Siyuan Note Token"
      },
      "title": "Data",
      "webdav": {
        "autoSync": {
          "label": "Auto Backup",
          "off": "Off"
        },
        "backup": {
          "button": "Backup to WebDAV",
          "manager": {
            "columns": {
              "actions": "Actions",
              "fileName": "Filename",
              "modifiedTime": "Modified Time",
              "size": "Size"
            },
            "delete": {
              "confirm": {
                "multiple": "Are you sure you want to delete {{count}} selected backup files? This action cannot be undone.",
                "single": "Are you sure you want to delete backup file \"{{fileName}}\"? This action cannot be undone.",
                "title": "Confirm Delete"
              },
              "error": "Delete failed",
              "selected": "Delete Selected",
              "success": {
                "multiple": "Successfully deleted {{count}} backup files",
                "single": "Deleted successfully"
              },
              "text": "Delete"
            },
            "fetch": {
              "error": "Failed to get backup files"
            },
            "refresh": "Refresh",
            "restore": {
              "error": "Restore failed",
              "success": "Restore successful, application will refresh shortly",
              "text": "Restore"
            },
            "select": {
              "files": {
                "delete": "Please select backup files to delete"
              }
            },
            "title": "Backup Data Management"
          },
          "modal": {
            "filename": {
              "placeholder": "Please enter backup filename"
            },
            "title": "Backup to WebDAV"
          }
        },
        "disableStream": {
          "help": "When enabled, loads the file into memory before uploading. This can solve incompatibility issues with some WebDAV servers that do not support chunked uploads, but it will increase memory usage.",
          "title": "Disable Stream Upload"
        },
        "host": {
          "label": "WebDAV Host",
          "placeholder": "http://localhost:8080"
        },
        "hour_interval_one": "{{count}} hour",
        "hour_interval_other": "{{count}} hours",
        "lastSync": "Last Backup",
        "maxBackups": "Maximum Backups",
        "minute_interval_one": "{{count}} minute",
        "minute_interval_other": "{{count}} minutes",
        "noSync": "Waiting for next backup",
        "password": "WebDAV Password",
        "path": {
          "label": "WebDAV Path",
          "placeholder": "/backup"
        },
        "restore": {
          "button": "Restore from WebDAV",
          "confirm": {
            "content": "Restoring from WebDAV will overwrite current data. Do you want to continue?",
            "title": "Confirm Restore"
          },
          "content": "Restore from WebDAV will overwrite the current data, continue?",
          "title": "Restore from WebDAV"
        },
        "syncError": "Backup Error",
        "syncStatus": "Backup Status",
        "title": "WebDAV",
        "user": "WebDAV User"
      },
      "yuque": {
        "check": {
          "button": "Check",
          "empty_repo_url": "Please enter the knowledge base URL first",
          "empty_token": "Please enter the Yuque Token first",
          "fail": "Yuque connection verification failed",
          "success": "Yuque connection verified successfully"
        },
        "help": "Get Yuque Token",
        "repo_url": "Yuque URL",
        "repo_url_placeholder": "https://www.yuque.com/username/xxx",
        "title": "Yuque",
        "token": "Yuque Token",
        "token_placeholder": "Please enter the Yuque Token"
      }
    },
    "developer": {
      "enable_developer_mode": "Enable Developer Mode",
      "help": "After enabling developer mode, you can use the trace feature to view the data flow during model invocation. Changes take effect after restarting the application.",
      "title": "Developer Mode"
    },
    "display": {
      "assistant": {
        "title": "Assistant Settings"
      },
      "custom": {
        "css": {
          "cherrycss": "Get from cherrycss.com",
          "label": "Custom CSS",
          "placeholder": "/* Put custom CSS here */"
        }
      },
      "font": {
        "code": "Code Font",
        "default": "Default",
        "global": "Global Font",
        "select": "Select Font",
        "title": "Font Settings"
      },
      "navbar": {
        "position": {
          "label": "Navbar Position",
          "left": "Left",
          "top": "Top"
        },
        "title": "Navbar Settings"
      },
      "sidebar": {
        "chat": {
          "hiddenMessage": "Assistants are basic functions, not supported for hiding"
        },
        "disabled": "Hide icons",
        "empty": "Drag the hidden feature from the left side here",
        "files": {
          "icon": "Show Files icon"
        },
        "knowledge": {
          "icon": "Show Knowledge icon"
        },
        "minapp": {
          "icon": "Show MinApp icon"
        },
        "miniApp": {
          "icon": "Show MiniApp icon"
        },
        "painting": {
          "icon": "Show Painting icon"
        },
        "title": "Sidebar Settings",
        "translate": {
          "icon": "Show Translate icon"
        },
        "visible": "Show icons"
      },
      "title": "Display Settings",
      "topic": {
        "title": "Topic Settings"
      },
      "zoom": {
        "title": "Zoom Settings"
      }
    },
    "font_size": {
      "title": "Message font size"
    },
    "general": {
      "auto_check_update": {
        "title": "Auto Update"
      },
      "avatar": {
        "builtin": "Builtin avatar",
        "reset": "Reset avatar"
      },
      "backup": {
        "button": "Backup",
        "title": "Data Backup and Recovery"
      },
      "common": {
        "menu": {
          "presentation_mode": {
            "cherry": "Cherry",
            "native": "Native",
            "restart": {
              "content": "Changing the menu style requires restarting the app to take effect. Do you want to restart now?",
              "title": "Restart Required"
            },
            "title": "Context menu style"
          }
        },
        "sections": {
          "chat_settings": "Chat Settings",
          "custom_css": "Custom CSS",
          "display_language": "Display & Language",
          "privacy_advanced": "Privacy & Advanced",
          "system_startup": "System & Startup"
        },
        "title": "General"
      },
      "display": {
        "title": "Display"
      },
      "emoji_picker": "Emoji Picker",
      "image_upload": "Image Upload",
      "label": "General Settings",
      "reset": {
        "button": "Reset",
        "title": "Data Reset"
      },
      "restore": {
        "button": "Restore"
      },
      "spell_check": {
        "label": "Spell Check",
        "languages": "Use spell check for"
      },
      "test_plan": {
        "beta_version": "Beta Version (Beta)",
        "beta_version_tooltip": "Features may change at any time, bugs are more, upgrade quickly",
        "rc_version": "Preview Version (RC)",
        "rc_version_tooltip": "Close to stable version, features are basically stable, bugs are few",
        "title": "Test Plan",
        "tooltip": "Participate in the test plan to experience the latest features faster, but also brings more risks, please backup your data in advance",
        "version_channel_not_match": "Preview and test version switching will take effect after the next stable version is released",
        "version_options": "Version Options"
      },
      "title": "General Settings",
      "user_name": {
        "label": "User Name",
        "placeholder": "Enter your name"
      },
      "view_webdav_settings": "View WebDAV settings"
    },
    "groq": {
      "title": "Groq Settings"
    },
    "hardware_acceleration": {
      "confirm": {
        "content": "Disabling hardware acceleration requires restarting the app to take effect. Do you want to restart now?",
        "title": "Restart Required"
      },
      "title": "Disable Hardware Acceleration"
    },
    "input": {
      "auto_translate_with_space": "Quickly translate with 3 spaces",
      "clear": {
        "all": "Clear",
        "knowledge_base": "Clear selected knowledge bases",
        "models": "Clear all models"
      },
      "show_translate_confirm": "Show translation confirmation dialog",
      "target_language": {
        "chinese": "Simplified Chinese",
        "chinese-traditional": "Traditional Chinese",
        "english": "English",
        "japanese": "Japanese",
        "label": "Target language",
        "russian": "Russian"
      }
    },
    "integrations": {
      "title": "Integrations"
    },
    "launch": {
      "onboot": "Start Automatically on Boot",
      "title": "Launch",
      "totray": "Minimize to Tray on Launch"
    },
    "math": {
      "engine": {
        "label": "Math engine",
        "none": "None"
      },
      "single_dollar": {
        "label": "Enable $...$",
        "tip": "Render math equations quoted by single dollar signs $...$. Default is enabled."
      },
      "title": "Math Settings"
    },
    "mcp": {
      "actions": "Actions",
      "active": "Active",
      "addError": "Failed to add server",
      "addServer": {
        "create": "Quick Create",
        "importFrom": {
          "connectionFailed": "Connection failed",
          "dxt": "Import DXT Package",
          "dxtFile": "DXT Package File",
          "dxtHelp": "Select a .dxt file containing an MCP server package",
          "dxtProcessFailed": "Failed to process DXT file",
          "error": {
            "multipleServers": "Cannot import from multiple servers"
          },
          "invalid": "Invalid input, please check JSON format",
          "json": "Import from JSON",
          "mcpb": "Import MCPB Bundle",
          "mcpbFile": "MCPB Bundle File",
          "mcpbHelp": "Select a .mcpb file containing an MCP server bundle",
          "mcpbProcessFailed": "Failed to process MCPB file",
          "method": "Import Method",
          "nameExists": "Server already exists: {{name}}",
          "noDxtFile": "Please select a DXT file",
          "noMcpbFile": "Please select an MCPB file",
          "oneServer": "Only one MCP server configuration at a time",
          "placeholder": "Paste MCP server JSON config",
          "selectDxtFile": "Select DXT File",
          "selectMcpbFile": "Select MCPB File",
          "tooltip": "Please copy the configuration JSON (prioritizing\n NPX or UVX configurations) from the MCP Servers introduction page and paste it into the input box."
        },
        "label": "Add Server"
      },
      "addSuccess": "Server added successfully",
      "advancedSettings": "Advanced Settings",
      "allServers": "MCP Servers",
      "args": "Arguments",
      "argsTooltip": "Each argument on a new line",
      "baseUrlTooltip": "Remote server base URL",
      "builtinServers": "Builtin Servers",
      "builtinServersDescriptions": {
        "brave_search": "An MCP server implementation integrating the Brave Search API, providing both web and local search functionalities. Requires configuring the BRAVE_API_KEY environment variable",
        "browser": "Control a headless Electron window via Chrome DevTools Protocol. Tools: open URL, execute single-line JS, reset session.",
        "didi_mcp": "DiDi MCP server providing ride-hailing services including map search, price estimation, order management, and driver tracking. Only available in Mainland China. Requires configuring the DIDI_API_KEY environment variable",
        "dify_knowledge": "Dify's MCP server implementation provides a simple API to interact with Dify. Requires configuring the Dify Key",
        "fetch": "MCP server for retrieving URL web content",
        "filesystem": "A Node.js server implementing the Model Context Protocol (MCP) for file system operations. Requires configuration of directories allowed for access.",
        "flomo": "Connect to flomo to quickly capture notes and ideas via AI. Requires flomo account authorization.",
        "mcp_auto_install": "Automatically install MCP service (beta)",
        "memory": "Persistent memory implementation based on a local knowledge graph. This enables the model to remember user-related information across different conversations. Requires configuring the MEMORY_FILE_PATH environment variable.",
        "no": "No description",
        "nowledge_mem": "Requires Nowledge Mem app running locally. Keeps AI chats, tools, notes, agents, and files in private memory on your computer. Download from https://mem.nowledge.co/",
        "python": "Execute Python code in a secure sandbox environment. Run Python with Pyodide, supporting most standard libraries and scientific computing packages",
        "sequentialthinking": "A MCP server implementation that provides tools for dynamic and reflective problem solving through structured thinking processes"
      },
      "command": "Command",
      "config_description": "Configure Model Context Protocol servers",
      "customRegistryPlaceholder": "Enter private registry URL, e.g.: https://npm.company.com",
      "deleteError": "Failed to delete server",
      "deleteServer": "Delete Server",
      "deleteServerConfirm": "Are you sure you want to delete this server?",
      "deleteSuccess": "Server deleted successfully",
      "dependenciesInstall": "Install Dependencies",
      "dependenciesInstalling": "Installing dependencies...",
      "description": "Description",
      "disable": {
        "description": "Do not enable MCP server functionality",
        "label": "Disable MCP Server"
      },
      "discover": "Discover",
      "duplicateName": "A server with this name already exists",
      "editJson": "Edit JSON",
      "editMcpJson": "Edit MCP Configuration",
      "editServer": "Edit Server",
      "env": "Environment Variables",
      "envTooltip": "Format: KEY=value, one per line",
      "errors": {
        "32000": "MCP server failed to start, please check the parameters according to the tutorial",
        "toolNotFound": "Tool {{name}} not found"
      },
      "fetch": {
        "button": "Fetch Servers",
        "success": "Successfully fetched MCP servers"
      },
      "findMore": "Find More MCP",
      "headers": "Headers",
      "headersTooltip": "Custom headers for HTTP requests",
      "inMemory": "Memory",
      "install": "Install",
      "installError": "Failed to install dependencies",
      "installHelp": "Get Installation Help",
      "installSuccess": "Dependencies installed successfully",
      "jsonFormatError": "JSON formatting error",
      "jsonModeHint": "Edit the JSON representation of the MCP server configuration. Please ensure the format is correct before saving.",
      "jsonSaveError": "Failed to save JSON configuration.",
      "jsonSaveSuccess": "JSON configuration has been saved.",
      "lanyun": {
        "description": "Lanyun Technology Cloud Platform MCP Service",
        "name": "Lanyun Technology"
      },
      "logoUrl": "Logo URL",
      "logs": "Logs",
      "longRunning": "Long Running Mode",
      "longRunningTooltip": "When enabled, the server supports long-running tasks. When receiving progress notifications, the timeout will be reset and the maximum execution time will be extended to 10 minutes.",
      "marketplaces": "Marketplaces",
      "missingDependencies": "is Missing, please install it to continue.",
      "more": {
        "awesome": "Curated MCP Server List",
        "composio": "Composio MCP Development Tools",
        "glama": "Glama MCP Server Directory",
        "higress": "Higress MCP Server",
        "mcpso": "MCP Server Discovery Platform",
        "mcpworld": "Baidu MCP Aggregation Platform",
        "modelscope": "ModelScope Community MCP Server",
        "official": "Official MCP Server Collection",
        "pulsemcp": "Pulse MCP Server",
        "smithery": "Smithery MCP Tools",
        "zhipu": "Curated MCP, Fast Integration"
      },
      "name": "Name",
      "newServer": "MCP Server",
      "noDescriptionAvailable": "No description available",
      "noLogs": "No logs yet",
      "noServers": "No servers configured",
      "not_support": "Model not supported",
      "npx_list": {
        "actions": "Actions",
        "description": "Description",
        "no_packages": "No packages found",
        "npm": "NPM",
        "package_name": "Package Name",
        "scope_placeholder": "Enter npm scope (e.g. @your-org)",
        "scope_required": "Please enter npm scope",
        "search": "Search",
        "search_error": "Search error",
        "usage": "Usage",
        "version": "Version"
      },
      "oauth": {
        "callback": {
          "message": "You can close this page and return to Cherry Studio",
          "title": "Authentication Successful"
        }
      },
      "prompts": {
        "arguments": "Arguments",
        "availablePrompts": "Available Prompts",
        "genericError": "Get prompt Error",
        "loadError": "Get prompts Error",
        "noPromptsAvailable": "No prompts available",
        "requiredField": "Required Field"
      },
      "protocolInstallWarning": {
        "command": "Startup command",
        "message": "This MCP was installed from an external source via protocol. Running unknown tools may harm your computer.",
        "run": "Run",
        "title": "Run external MCP?"
      },
      "provider": "Provider",
      "providerPlaceholder": "Provider name",
      "providerUrl": "Provider URL",
      "providers": "Providers",
      "registry": "Package Registry",
      "registryDefault": "Default",
      "registryTooltip": "Choose the registry for package installation to resolve network issues with the default registry.",
      "requiresConfig": "Requires Configuration",
      "resources": {
        "availableResources": "Available Resources",
        "blob": "Blob",
        "blobInvisible": "Blob Invisible",
        "genericError": "Resource acquisition error",
        "mimeType": "MIME Type",
        "noResourcesAvailable": "No resources available",
        "size": "Size",
        "text": "Text",
        "uri": "URI"
      },
      "runtimeStatus": {
        "connected": "Connected",
        "connecting": "Connecting",
        "disabled": "Disabled",
        "error": "Error",
        "unavailable": "Unavailable"
      },
      "search": {
        "placeholder": "Search MCP servers...",
        "tooltip": "Search MCP servers"
      },
      "searchNpx": "Search MCP",
      "serverPlural": "servers",
      "serverSingular": "server",
      "servers": "MCP Servers",
      "shortTitle": "MCP",
      "sse": "Server-Sent Events (sse)",
      "startError": "Start failed",
      "stdio": "Standard Input/Output (stdio)",
      "streamableHttp": "Streamable HTTP (streamableHttp)",
      "sync": {
        "button": "Sync",
        "discoverMcpServers": "Discover MCP Servers",
        "discoverMcpServersDescription": "Visit the platform to discover available MCP servers",
        "error": "Sync MCP Servers error",
        "getToken": "Get API Token",
        "getTokenDescription": "Retrieve your personal API token from your account",
        "noServersAvailable": "No MCP servers available",
        "providerDescriptions": {
          "302ai": "302.AI Platform MCP Service",
          "bailian": "Alibaba Cloud Bailian Platform MCP Service",
          "lanyun": "Lanyun Technology Cloud Platform MCP Service",
          "mcprouter": "MCP Router Platform MCP Service",
          "modelscope": "ModelScope Platform MCP Service"
        },
        "selectProvider": "Select Provider:",
        "setToken": "Enter Your Token",
        "success": "Sync MCP Servers successful",
        "title": "Sync Servers",
        "tokenPlaceholder": "Enter API token here",
        "tokenRequired": "API Token is required",
        "unauthorized": "Sync Unauthorized"
      },
      "system": "System",
      "tabs": {
        "description": "Description",
        "general": "General",
        "prompts": "Prompts",
        "resources": "Resources",
        "tools": "Tools"
      },
      "tags": "Tags",
      "tagsPlaceholder": "Enter tags",
      "timeout": "Timeout",
      "timeoutTooltip": "Timeout in seconds for requests to this server, default is 60 seconds",
      "title": "MCP Servers",
      "tools": {
        "autoApprove": {
          "label": "Auto Approve",
          "tooltip": {
            "confirm": "Are you sure you want to run this MCP tool?",
            "disabled": "Tool will require manual approval before running",
            "enabled": "Tool will run automatically without confirmation",
            "howToEnable": "Enable the tool first to use auto-approve"
          }
        },
        "availableTools": "Available Tools",
        "enable": "Enable Tool",
        "inputSchema": {
          "enum": {
            "allowedValues": "Allowed Values"
          },
          "label": "Input Schema"
        },
        "loadError": "Get tools Error",
        "noToolsAvailable": "No tools available",
        "run": "Run"
      },
      "type": "Type",
      "types": {
        "inMemory": "In Memory",
        "sse": "SSE",
        "stdio": "STDIO",
        "streamableHttp": "Streamable HTTP"
      },
      "updateError": "Failed to update server",
      "updateSuccess": "Server updated successfully",
      "url": "URL",
      "user": "User"
    },
    "menuGroups": {
      "appSettings": "Settings",
      "integrations": "Models",
      "productivity": "Productivity",
      "services": "Plugins",
      "system": "System"
    },
    "messages": {
      "divider": {
        "label": "Show divider between messages",
        "tooltip": "Not applicable to bubble-style message"
      },
      "grid_columns": "Message grid display columns",
      "grid_popover_trigger": {
        "click": "Click to display",
        "hover": "Hover to display",
        "label": "Grid detail trigger"
      },
      "input": {
        "confirm_delete_message": "Confirm before deleting messages",
        "confirm_regenerate_message": "Confirm before regenerating messages",
        "enable_quick_triggers": "Enable / and @ triggers",
        "send_shortcuts": "Send shortcuts",
        "show_estimated_tokens": "Show estimated tokens",
        "title": "Input Settings"
      },
      "markdown_rendering_input_message": "Markdown render input message",
      "metrics": "{{time_first_token_millsec}}ms to first token | {{token_speed}} tok/sec",
      "model": {
        "title": "Model Settings"
      },
      "navigation": {
        "anchor": "Message Anchor",
        "buttons": "Navigation Buttons",
        "label": "Navigation bar",
        "none": "None"
      },
      "show_message_outline": "Show message outline",
      "title": "Message Settings",
      "use_serif_font": "Use serif font",
      "wide_mode": "Wide layout mode"
    },
    "miniApps": {
      "cache_change_notice": "Changes will take effect when the number of open mini apps reaches the set value",
      "cache_description": "Set the maximum number of active mini apps to keep in memory",
      "cache_title": "Mini App Cache Limit",
      "custom": {
        "create_title": "Create Custom Mini App",
        "edit_title": "Edit Custom Mini App",
        "logo_file": "Upload Logo File",
        "logo_upload_error": "Failed to upload logo.",
        "logo_upload_label": "Upload Logo",
        "name": "Name",
        "name_placeholder": "Enter name",
        "remove_confirm_description": "Delete custom mini app \"{{name}}\"? This action cannot be undone.",
        "remove_confirm_title": "Delete custom mini app?",
        "remove_error": "Failed to remove custom mini app.",
        "remove_success": "Custom mini app removed successfully.",
        "save_error": "Failed to save custom mini app.",
        "save_success": "Custom mini app saved successfully.",
        "title": "Custom",
        "url": "URL",
        "url_invalid": "Enter a valid http, https, or file URL.",
        "url_placeholder": "Enter URL"
      },
      "disabled": "Hidden Mini Apps",
      "display_title": "Mini App Display Settings",
      "empty": "Click the hide icon on an app on the left and it will move here",
      "group": {
        "display": "Display management",
        "preferences": "Preferences"
      },
      "open_link_external": {
        "description": "Opens new-window links in your default browser",
        "title": "Open new-window links in browser"
      },
      "region": {
        "auto": "Auto detect",
        "cn": "China",
        "description": "Filtering unsupported mini-programs based on the region",
        "global": "Global",
        "title": "Mini Program filter"
      },
      "reset_tooltip": "Reset to default",
      "title": "Mini Apps Settings",
      "visible": "Visible Mini Apps"
    },
    "model": "Default Model",
    "models": {
      "add": {
        "add_model": "Add Model",
        "batch_add_models": "Batch Add Models",
        "context_window": {
          "label": "Context window",
          "placeholder": "e.g. 128000"
        },
        "endpoint_type": {
          "label": "Endpoint Type",
          "placeholder": "Select endpoint type",
          "remove_chip": "Remove",
          "required": "Please select an endpoint type",
          "tooltip": "Select the API endpoint type format"
        },
        "group_name": {
          "label": "Group Name",
          "placeholder": "Optional e.g. ChatGPT",
          "tooltip": "Optional e.g. ChatGPT"
        },
        "max_input_tokens": {
          "label": "Max input tokens",
          "placeholder": "e.g. 128000"
        },
        "max_output_tokens": {
          "label": "Max output tokens",
          "placeholder": "e.g. 4096"
        },
        "model_id": {
          "label": "Model ID",
          "placeholder": "Required e.g. gpt-3.5-turbo",
          "select": {
            "placeholder": "Select Model"
          },
          "tooltip": "Example: gpt-3.5-turbo"
        },
        "model_name": {
          "label": "Model Name",
          "placeholder": "Optional e.g. GPT-4",
          "tooltip": "Optional e.g. GPT-4"
        },
        "supported_text_delta": {
          "label": "Support incremental text output",
          "tooltip": "The model returns text incrementally, rather than all at once. Enabled by default, if the model does not support it, please disable this option"
        }
      },
      "api_key": "API Key",
      "base_url": "Base URL",
      "bulk_disable": "Disable all",
      "bulk_enable": "Enable all",
      "check": {
        "all": "All",
        "all_models_passed": "All models check passed",
        "button_caption": "Health check",
        "disabled": "Not enabled",
        "disclaimer": "Health check sends real requests to the selected models and API keys. Per-request billing or concurrent checks may incur significant costs. Review before starting.",
        "drawer_result_hint": "Results remain here until you close the drawer or run the check again.",
        "enable_concurrent": "Concurrent",
        "enabled": "Enabled",
        "failed": "Failed",
        "failed_to_start": "Failed to start health check",
        "generation_output_audio": "audio",
        "generation_output_image": "an image",
        "generation_output_video": "a video",
        "keys_status_count": "Passed: {{count_passed}} keys, failed: {{count_failed}} keys",
        "model_button_caption": "Check all models",
        "model_status_failed": "{{count}} models completely inaccessible",
        "model_status_partial": "{{count}} models had inaccessible keys",
        "model_status_passed": "{{count}} models passed health checks",
        "model_status_summary": "{{provider}}: {{summary}}",
        "no_api_keys": "No API keys found, please add API keys first.",
        "no_results": "No results",
        "outcome_fail_short": "{{count}} failed",
        "outcome_skipped_short": "{{count}} skipped",
        "outcome_success_short": "{{count}} passed",
        "outcome_total": "{{count}} total",
        "passed": "Passed",
        "pipeline_heading": "Detection progress",
        "progress_count": "{{done}} / {{total}}",
        "progress_current": "Checking: {{name}}",
        "progress_hint": "While running, watch the list below. When finished, a short summary appears above the list.",
        "progress_title": "Running health check",
        "retry": "Check again",
        "select_api_key": "Select the API key to use:",
        "single": "Single",
        "skip_reason_generation_cost": "This model's health check would generate {{output}} and consume quota, so it is skipped by default.",
        "skip_reason_unsupported_probe": "This model type does not have a low-cost health check yet, so it is skipped by default.",
        "start": "Start",
        "status_checking": "Checking…",
        "status_skipped": "Skipped",
        "timeout": "Timeout",
        "title": "Model health check",
        "use_all_keys": "Key(s)"
      },
      "collapse_all": "Collapse all",
      "default_assistant_model": "Default Assistant Model",
      "default_assistant_model_description": "Used when an assistant has no model.",
      "docs": "Model docs",
      "empty": "No models found",
      "enabled_models": "Enabled",
      "expand_all": "Expand all",
      "filter": {
        "clear": "Clear model filter",
        "label": "Filter models"
      },
      "group_disable": "Disable this group",
      "group_enable": "Enable this group",
      "list_title": "Model list",
      "manage": {
        "add_custom_model": "Add custom model",
        "add_listed": {
          "confirm": "Are you sure you want to add all models to the list?",
          "label": "Add models to the list"
        },
        "add_whole_group": "Add the whole group",
        "drawer_title": "Model management",
        "fetch_deselect_all_add": "Deselect all",
        "fetch_deselect_all_remove": "Deselect all",
        "fetch_list": "Pull models",
        "fetch_ok": "OK",
        "fetch_removed_hint": "These models no longer exist on the provider API. Check to remove them from your list.",
        "fetch_result_title": "Pull result",
        "fetch_select_all_add": "Select all to add",
        "fetch_select_all_remove": "Select all to remove",
        "fetch_summary_add": "Add {{selected}}/{{total}} models",
        "fetch_summary_remove": "Remove {{selected}}/{{total}} models",
        "fetch_up_to_date": "Your model list is up to date",
        "fetch_up_to_date_hint": "No new or removed models were found.",
        "filter_add_all": "Add all in view",
        "filter_remove_all": "Remove from provider",
        "footer_done": "Done",
        "large_group_hidden": "Show {{count}} more models",
        "model_in_use_by_knowledge_base": "This model is used by a knowledge base and cannot be deleted.",
        "operation_failed": "Model operation failed.",
        "refetch_list": "Pull models again",
        "reload_catalog": "Refresh list",
        "remove_listed": "Remove models from the list",
        "remove_model": "Delete model",
        "remove_whole_group": "Delete group",
        "search_models_placeholder": "Search models…",
        "select_none": "Select none",
        "status_all": "All",
        "status_disabled": "Disabled",
        "status_enabled": "Enabled",
        "sync_added_description": "New upstream models that can be added to this provider.",
        "sync_added_metric": "{{count}} new models",
        "sync_added_section": "New models",
        "sync_apply_changes": "Apply changes",
        "sync_apply_default_in_use": "Some models are in use as the default model and cannot be removed.",
        "sync_apply_result": "Added {{added}}, deprecated {{deprecated}}, deleted {{deleted}}.",
        "sync_empty_added": "No new upstream models were found.",
        "sync_empty_missing": "No unavailable local models were found.",
        "sync_impact_section": "Reference impact",
        "sync_impact_summary": "{{models}} impacted models, {{references}} strong references",
        "sync_missing_description": "Local models that no longer exist in the latest upstream list.",
        "sync_missing_metric": "{{count}} unavailable models",
        "sync_missing_section": "Unavailable models",
        "sync_no_references": "No strong references",
        "sync_pick_delete": "Delete",
        "sync_pick_deprecate": "Mark deprecated",
        "sync_preview_description": "Review upstream model changes before updating your local model list.",
        "sync_preview_summary": "Pull preview",
        "sync_pull_failed": "Failed to pull models.",
        "sync_reference_assistants": "Assistants {{count}}",
        "sync_reference_knowledge": "Knowledge bases {{count}}",
        "sync_reference_preferences": "Preferences {{count}}",
        "sync_references": "Strong references {{count}}",
        "sync_replacement": "Suggested replacement: {{model}}",
        "sync_selected_metric": "{{count}} selected",
        "sync_selected_summary": "{{selected}} / {{total}} selected",
        "sync_switch_to_delete": "Delete instead",
        "sync_switch_to_deprecate": "Mark deprecated instead",
        "sync_will_deprecate": "Will be marked deprecated"
      },
      "more_actions": "More model list actions",
      "not_enabled_models": "Disabled",
      "provider_id": "Provider ID",
      "provider_key_add_confirm": "Do you want to add the API key for {{provider}}?",
      "provider_key_add_failed_by_empty_data": "Failed to add provider API key, data is empty",
      "provider_key_add_failed_by_invalid_data": "Failed to add provider API key, data format error",
      "provider_key_added": "Successfully added API key for {{provider}}",
      "provider_key_already_exists": "{{provider}} already has an API key ({{existingKey}}). Do not add it again.",
      "provider_key_confirm_title": "Add Provider API Key",
      "provider_key_no_change": "API key for {{provider}} has not changed",
      "provider_key_overridden": "Successfully updated API key for {{provider}}",
      "provider_key_override_confirm": "{{provider}} already has an API key ({{existingKey}}). Do you want to override it with the new key ({{newKey}})?",
      "provider_name": "Provider Name",
      "quick_assistant_default_tag": "Default",
      "quick_assistant_model": "Quick Assistant Model",
      "quick_assistant_selection": "Select Assistant",
      "quick_model": {
        "description": "Model used for simple tasks such as topic naming and keyword extraction",
        "label": "Quick Model",
        "setting_title": "Quick model setup",
        "tooltip": "It is recommended to choose a lightweight model and not recommended to choose a thinking model."
      },
      "toolbar": {
        "custom_add": "Custom",
        "filter_close": "Close filter",
        "filter_open": "Filter by capability",
        "pull_short": "Get model list"
      },
      "topic_naming": {
        "auto": "Topic Auto Naming",
        "label": "Topic naming",
        "prompt": "Topic Naming Prompt"
      },
      "translate_model": "Translate Model",
      "translate_model_description": "Model used for translation service",
      "translate_model_prompt_message": "Please enter the translate model prompt",
      "translate_model_prompt_title": "Translate Model Prompt",
      "use_assistant": "Use Assistant",
      "use_model": "Default Model"
    },
    "moresetting": {
      "check": {
        "confirm": "Confirm Selection",
        "warn": "Please be cautious when selecting this option. Incorrect selection may cause the model to malfunction!"
      },
      "label": "More Settings",
      "warn": "Risk Warning"
    },
    "no_provider_selected": "Provider not selected",
    "notification": {
      "assistant": "Assistant Message",
      "backup": "Backup Message",
      "knowledge_embed": "KnowledgeBase Message",
      "title": "Notification Settings"
    },
    "openai": {
      "service_tier": {
        "auto": "auto",
        "default": "default",
        "flex": "flex",
        "on_demand": "on demand",
        "priority": "priority",
        "tip": "Specifies the latency tier to use for processing the request",
        "title": "Service Tier"
      },
      "stream_options": {
        "include_usage": {
          "tip": "Whether token usage is included (applicable only to the OpenAI Chat Completions API)",
          "title": "Include usage"
        }
      },
      "summary_text_mode": {
        "auto": "auto",
        "concise": "concise",
        "detailed": "detailed",
        "off": "off",
        "tip": "A summary of the reasoning performed by the model",
        "title": "Summary Mode"
      },
      "title": "OpenAI Settings",
      "verbosity": {
        "high": "High",
        "low": "Low",
        "medium": "Medium",
        "tip": "Control the level of detail in the model's output",
        "title": "Verbosity"
      }
    },
    "parameter_settings": "Parameter Settings",
    "plugins": {
      "addTool": "Add Tool",
      "addToolDescription": "Add a tool using a mise tool key (e.g., github:sharkdp/fd, uv, bun).",
      "coreDepsMissing": "Core dependencies not installed",
      "customTools": "Custom Tools",
      "customToolsEmpty": "No custom tools yet. Add one to get started.",
      "description": "Manage binary tools and runtime dependencies required by the app.",
      "duplicateName": "A tool with the same name already exists",
      "fieldVersion": "Version (optional, defaults to latest)",
      "install": "Install",
      "installError": "Failed to install tool",
      "installing": "Installing...",
      "invalidTool": "Invalid tool name or key",
      "notInstalled": "Not installed",
      "openBinariesDir": "Open binaries directory",
      "remove": "Remove tool",
      "removeConfirmMessage": "Are you sure you want to remove \"{{name}}\"? The binary will be deleted.",
      "removeConfirmTitle": "Remove Tool",
      "searchFailed": "Search failed, check logs",
      "searchRegistry": "Search mise registry...",
      "source": {
        "bundled": "bundled"
      },
      "title": "Dependencies",
      "tools": {
        "bun": "JavaScript runtime used by MCP services and related toolchains.",
        "claude": "Anthropic's agentic coding tool for the terminal.",
        "codex": "OpenAI's open-source coding agent that can read, edit, and execute code in your local repository.",
        "fd": "Fast file finder, alternative to find.",
        "gh": "GitHub CLI for repository and workflow management.",
        "hermes": "Self-improving AI coding agent by Nous Research that creates skills from experience and persists knowledge across sessions.",
        "lark-cli": "Official Lark/Feishu CLI covering Messenger, Docs, Base, Sheets, Calendar, and more with 200+ commands and AI Agent skills.",
        "ntn": "Official Notion CLI for authentication, Workers management, and full Notion API access from the terminal.",
        "openclaw": "Cross-platform personal AI assistant with chat, voice, canvas, camera, and screen capture capabilities.",
        "opencode": "Open-source AI coding agent supporting 75+ models with GitHub Actions integration for automated workflows.",
        "pi": "AI agent toolkit with coding agent CLI, unified LLM API, TUI/web UI, and Slack bot.",
        "rg": "Fast text search tool (ripgrep), alternative to grep.",
        "rtk": "CLI proxy that reduces LLM token consumption by compressing terminal output before it reaches the AI context window.",
        "uv": "Python package manager for MCP services and dependency installation."
      },
      "update": "Update to latest version"
    },
    "power": {
      "prevent_sleep_when_busy": "Keep the system awake while tasks are running"
    },
    "privacy": {
      "enable_privacy_mode": "Anonymous reporting of errors and statistics",
      "title": "Privacy Settings"
    },
    "prompts": {
      "add": "Add Prompt",
      "contentLabel": "Content",
      "contentPlaceholder": "Enter prompt content. Supports ${variables}; press Tab to jump between variables. Example:\nHelp me plan a route from ${from} to ${to}, and send it to ${email}.",
      "delete": "Delete Prompt",
      "deleteConfirm": "The prompt will be permanently deleted. Continue?",
      "edit": "Edit Prompt",
      "errors": {
        "createFailed": "Failed to create prompt",
        "deleteFailed": "Failed to delete prompt",
        "loadFailed": "Failed to load prompts",
        "reorderFailed": "Failed to reorder prompts",
        "updateFailed": "Failed to update prompt"
      },
      "title": "Prompt Management",
      "titleLabel": "Title",
      "titlePlaceholder": "Enter prompt title",
      "variablePlaceholder": "${variable}"
    },
    "provider": {
      "add": {
        "name": {
          "label": "Provider Name",
          "placeholder": "Example: OpenAI",
          "required": "Please enter the provider name"
        },
        "title": "Add Provider",
        "type": "Provider Type"
      },
      "anthropic_api_host": "Anthropic API Host",
      "anthropic_api_host_preview": "Anthropic preview: {{url}}",
      "anthropic_api_host_tooltip": "Use only when the provider offers a Claude-compatible base URL.",
      "api": {
        "key": {
          "check": {
            "latency": "Latency"
          },
          "error": {
            "duplicate": "API key already exists",
            "empty": "API key cannot be empty"
          },
          "list": {
            "open": "Open Management Interface",
            "title": "API Key Management"
          },
          "new_key": {
            "placeholder": "Enter API key"
          }
        },
        "options": {
          "anthropic_cache": {
            "cache_last_n": "Cache Last N Messages",
            "cache_last_n_help": "Cache the last N conversation messages (excluding system messages)",
            "cache_system": "Cache System Message",
            "cache_system_help": "Whether to cache the system prompt",
            "token_threshold": "Cache Token Threshold",
            "token_threshold_help": "Messages exceeding this token count will be cached. Set to 0 to disable caching."
          },
          "array_content": {
            "help": "Does the provider support the content field of the message being of array type?",
            "label": "Supports array format message content"
          },
          "developer_role": {
            "help": "Does the provider support messages with role: \"developer\"?",
            "label": "Support Developer Message"
          },
          "enable_thinking": {
            "help": "Does the provider support controlling the reasoning of models like Qwen3 via the enable_thinking parameter?",
            "label": "Support enable_thinking"
          },
          "label": "API Settings",
          "service_tier": {
            "help": "Whether the provider supports configuring the service_tier parameter. When enabled, this parameter can be adjusted in the service tier settings on the chat page. (OpenAI models only)",
            "label": "Supports service_tier"
          },
          "stream_options": {
            "help": "Does the provider support the stream_options parameter?",
            "label": "Support stream_options"
          },
          "verbosity": {
            "help": "Whether the provider supports the verbosity parameter",
            "label": "Support verbosity"
          }
        },
        "url": {
          "preview": "Preview: {{url}}",
          "reset": "Reset",
          "tip": "Add # at the end to disable the automatically appended API version."
        }
      },
      "api_host": "API Host",
      "api_host_drawer_hint": "Custom API request URL; leave empty when the catalog default applies.",
      "api_host_no_valid": "API address is invalid",
      "api_host_placeholder": "Not configured",
      "api_host_preview": "Preview: {{url}}",
      "api_host_tooltip": "Override only when your provider requires a custom OpenAI-compatible endpoint.",
      "api_key": {
        "copy": "Copy",
        "enabled_suffix": "enabled",
        "hide_key": "Hide key",
        "label": "API Key",
        "label_placeholder": "Label",
        "list_description": "Manage multiple API keys for this provider",
        "placeholder": "Enter API key",
        "save_failed": "Failed to save API keys",
        "show_key": "Show key",
        "tip": "Add one API key at a time",
        "unnamed": "API Key"
      },
      "api_version": "API Version",
      "aws-bedrock": {
        "access_key_id": "AWS Access Key ID",
        "access_key_id_help": "Your AWS Access Key ID for accessing AWS Bedrock services",
        "api_key": "Bedrock API Key",
        "api_key_help": "Your AWS Bedrock API Key for authentication",
        "auth_type": "Authentication Type",
        "auth_type_api_key": "Bedrock API Key",
        "auth_type_help": "Choose between IAM credentials or Bedrock API Key authentication",
        "auth_type_iam": "IAM Credentials",
        "description": "AWS Bedrock is Amazon's fully managed foundation model service that supports various advanced large language models",
        "region": "AWS Region",
        "region_help": "Your AWS service region, e.g., us-east-1",
        "region_required": "Enter an AWS region before saving",
        "secret_access_key": "AWS Secret Access Key",
        "secret_access_key_help": "Your AWS Secret Access Key, please keep it secure",
        "title": "AWS Bedrock Configuration"
      },
      "azure": {
        "apiversion": {
          "tip": "The API version of Azure OpenAI, if you want to use Response API, please enter the v1 version"
        }
      },
      "balance": "Balance",
      "base_url": {
        "label": "Base URL",
        "placeholder": "https://api.example.com",
        "required": "Please enter the Base URL"
      },
      "basic_auth": {
        "label": "HTTP authentication",
        "password": {
          "label": "Password",
          "tip": "Enter your password"
        },
        "tip": "Applicable to instances deployed remotely (see the documentation). Currently, only the Basic scheme (RFC 7617) is supported.",
        "user_name": {
          "label": "Username",
          "tip": "Left empty to disable"
        }
      },
      "bills": "Fee Bills",
      "charge": "Balance Recharge",
      "check": "Check",
      "check_all_keys": "Check All Keys",
      "check_multiple_keys": "Check Multiple API Keys",
      "cherryin": {
        "api_host": {
          "acceleration": "Acceleration domain",
          "international": "International domain"
        }
      },
      "copilot": {
        "add_request_header": "Add header",
        "auth_failed": "Github Copilot authentication failed.",
        "auth_success": "GitHub Copilot authentication successful.",
        "auth_success_title": "Certification successful.",
        "code_copied": "Authorization code automatically copied to clipboard",
        "code_failed": "Failed to obtain Device Code, please try again.",
        "code_generated_desc": "Please copy the device code into the browser link below.",
        "code_generated_title": "Obtain Device Code",
        "connect": "Connect to Github",
        "custom_headers": "Custom request header",
        "description": "Your GitHub account needs to subscribe to Copilot.",
        "description_detail": "GitHub Copilot is an AI-powered code assistant that requires a valid GitHub Copilot subscription to use",
        "expand": "Expand",
        "header_field_name": "Header",
        "header_field_value": "Value",
        "header_name_placeholder": "Header name",
        "header_value_placeholder": "Header value",
        "headers_description": "Custom request headers (JSON format)",
        "headers_json_placeholder": "{\n  \"X-Custom-Header\": \"value\"\n}",
        "invalid_json": "JSON format error",
        "login": "Log in to Github",
        "logout": "Exit GitHub",
        "logout_failed": "Exit failed, please try again.",
        "logout_success": "Successfully logged out.",
        "model_setting": "Model settings",
        "open_verification_first": "Please click the link above to access the verification page.",
        "open_verification_page": "Open Authorization Page",
        "rate_limit": "Rate limiting",
        "start_auth": "Start Authorization",
        "step_authorize": "Open Authorization Page",
        "step_authorize_desc": "Complete authorization on GitHub",
        "step_authorize_detail": "Click the button below to open GitHub authorization page, then enter the copied authorization code",
        "step_connect": "Complete Connection",
        "step_connect_desc": "Confirm connection to GitHub",
        "step_connect_detail": "After completing authorization on GitHub page, click this button to complete the connection",
        "step_copy_code": "Copy Authorization Code",
        "step_copy_code_desc": "Copy device authorization code",
        "step_copy_code_detail": "Authorization code has been automatically copied, you can also copy it manually",
        "step_get_code": "Get Authorization Code",
        "step_get_code_desc": "Generate device authorization code",
        "toggle_headers_editor_json": "Switch to JSON editor",
        "toggle_headers_editor_list": "Switch to header list"
      },
      "create_custom": {
        "title": "Add Custom Provider"
      },
      "delete": {
        "content": "Are you sure you want to delete this provider?",
        "title": "Delete Provider"
      },
      "dmxapi": {
        "platform_enterprise": "ssvip.DMXAPI.com (Enterprise)",
        "platform_international": "www.DMXAPI.com (International)",
        "platform_official": "www.DMXAPI.cn (CNY)",
        "select_platform": "Select the platform"
      },
      "docs_check": "Check",
      "docs_more_details": "for more details",
      "duplicate": {
        "add_another": "Add {{name}} instance",
        "drawer_title": "Add {{name}} instance",
        "fill_after_create": "Authentication fields can be filled after create",
        "menu_label": "Add instance"
      },
      "filter": {
        "agent": "Agent Supported",
        "all": "All Providers",
        "disabled": "Disabled Only",
        "enabled": "Enabled Only",
        "label": "Filter providers"
      },
      "filter_agent": "Filter Agent Supported Providers",
      "get_api_key": "Get API Key",
      "logo_upload_failed": "Failed to process the selected image",
      "misc": "Other",
      "more_endpoints": {
        "add": "Add Endpoint",
        "anthropic": "Anthropic Messages",
        "gemini": "Google Gemini",
        "openai_chat": "OpenAI Chat Completions",
        "openai_responses": "OpenAI Responses",
        "toggle": "More Endpoints"
      },
      "no_models_for_check": "No models available for checking (e.g. chat models)",
      "not_checked": "Not Checked",
      "notes": {
        "markdown_editor_default_value": "Preview area",
        "placeholder": "Enter Markdown content...",
        "title": "Model Notes"
      },
      "oauth": {
        "balance": "Balance",
        "balance_error": "Failed to fetch balance",
        "button": "Login with {{provider}}",
        "cherryIn": {
          "description": "Login to CherryIN using OAuth 2.0",
          "logged_in": "Logged in via OAuth",
          "login_button": "Authorize with CherryIN",
          "logout_button": "Logout",
          "not_logged_in": "Not logged in",
          "register_account": "Create account",
          "service_attribution": "This service is provided by <link>open.cherryin.ai</link>",
          "tagline": "After you sign in, you can use all model services",
          "title": "OAuth Login",
          "use_api_key": "Use API key instead"
        },
        "connect": "Connect {{provider}}",
        "description": "This service is provided by <website>{{provider}}</website>",
        "error": "Authentication failed",
        "logged_in": "Logged in",
        "logout": "Logout",
        "logout_confirm": "Are you sure you want to logout?",
        "logout_success": "Successfully logged out",
        "logout_warning": "Logged out locally, but server token revocation may have failed",
        "official_website": "Official Website",
        "provided_by": "Provided by",
        "provided_by_suffix": "",
        "requests": "Requests",
        "topup": "Top Up",
        "usage_title": "Usage",
        "usage_unit": "tokens"
      },
      "openai": {
        "alert": "OpenAI Provider no longer support the old calling methods. If using a third-party API, please create a new service provider."
      },
      "remove_duplicate_keys": "Remove Duplicate Keys",
      "remove_invalid_keys": "Remove Invalid Keys",
      "reorder_failed": "Failed to reorder providers",
      "request_configuration": "Request configuration",
      "request_configuration_tooltip": "Configure API Host and custom request headers",
      "save_failed": "Failed to save provider settings",
      "search": "Search Providers...",
      "search_placeholder": "Search model id or name",
      "section": {
        "account": "Account",
        "configuration": "Configuration"
      },
      "title": "Model Provider",
      "vertex_ai": {
        "api_host_help": "The API host for Vertex AI, not recommended to fill in, generally applicable to reverse proxy",
        "documentation": "View official documentation for more configuration details:",
        "learn_more": "Learn More",
        "location": "Location",
        "location_help": "Vertex AI service location, e.g., us-central1. This field is not read from the Service Account JSON and must be entered manually.",
        "location_placeholder": "Select Vertex AI location",
        "project_id": "Project ID",
        "project_id_help": "Your Google Cloud project ID",
        "project_id_placeholder": "your-google-cloud-project-id",
        "select_location": "Select location",
        "service_account": {
          "auth_success": "Service Account authenticated successfully",
          "client_email": "Client Email",
          "client_email_help": "The client_email field from the JSON key file downloaded from Google Cloud Console",
          "client_email_placeholder": "Enter Service Account client email",
          "description": "Use Service Account for authentication, suitable for environments where ADC is not available",
          "incomplete_config": "Please complete all required Vertex AI settings first",
          "json_input": "Service Account JSON",
          "json_input_help": "Paste the complete JSON key content. After parsing, only project_id, client_email, and private_key are saved, and the raw JSON is cleared.",
          "json_input_placeholder": "Paste the complete Service Account JSON key content",
          "json_parse_error": "Failed to parse Service Account JSON. Please confirm the format is correct.",
          "json_parse_success": "Service Account JSON parsed",
          "private_key": "Private Key",
          "private_key_help": "The private_key field from the JSON key file downloaded from Google Cloud Console",
          "private_key_placeholder": "Enter Service Account private key",
          "title": "Service Account Configuration",
          "toggle_client_email_visibility": "Toggle client email visibility",
          "toggle_private_key_visibility": "Toggle private key visibility",
          "toggle_project_id_visibility": "Toggle project ID visibility"
        }
      }
    },
    "proxy": {
      "address": "Proxy Address",
      "bypass": "Bypass Rules",
      "mode": {
        "custom": "Custom Proxy",
        "none": "No Proxy",
        "system": "System Proxy",
        "title": "Proxy Mode"
      },
      "tip": "Supports wildcard matching (*.test.com, 192.168.0.0/16)"
    },
    "quickAssistant": {
      "click_tray_to_show": "Click the tray icon to start",
      "enable_quick_assistant": "Enable Quick Assistant",
      "read_clipboard_at_startup": "Read clipboard at startup",
      "title": "Quick Assistant",
      "use_shortcut_to_show": "Right-click the tray icon or use shortcuts to start"
    },
    "quickPanel": {
      "back": "Back",
      "close": "Close",
      "confirm": "Confirm",
      "forward": "Forward",
      "mcp": {
        "agentEmpty": "No MCP servers configured for this agent",
        "assistantEmpty": "No MCP servers configured for this assistant",
        "autoEmpty": "No enabled MCP servers",
        "description": "View current MCP server status",
        "disabled": "MCP is disabled for this assistant",
        "unknownServer": "Unknown MCP server"
      },
      "multiple": "Multiple Select",
      "noResult": "No results found",
      "page": "Page",
      "select": "Select",
      "title": "Quick Menu"
    },
    "quickPhrase": {
      "add": "Add Phrase",
      "assistant": "Assistant Phrases",
      "contentLabel": "Content",
      "contentPlaceholder": "Please enter phrase content, support using variables, and press Tab to quickly locate the variable to modify. For example: \nHelp me plan a route from ${from} to ${to}, and send it to ${email}.",
      "delete": "Delete Phrase",
      "deleteConfirm": "The phrase cannot be recovered after deletion, continue?",
      "edit": "Edit Phrase",
      "global": "Global Phrases",
      "locationLabel": "Add Location",
      "title": "Quick Phrases",
      "titleLabel": "Title",
      "titlePlaceholder": "Please enter phrase title"
    },
    "scheduledTasks": {
      "description": "Manage scheduled tasks across all agents. Tasks run automatically on the configured schedule.",
      "noAgents": "Scheduled tasks require agents with Soul Mode or Bypass Permissions enabled. Update an agent's settings to get started.",
      "noAgentsTip": "Tip: You can also ask your agent to create scheduled tasks via chat.",
      "noTasks": "No scheduled tasks. Click \"+ Add\" to create one for an agent.",
      "selectTask": "Select a task to view details",
      "title": "Scheduled Tasks"
    },
    "shortcuts": {
      "action": "Action",
      "actions": "operation",
      "all_disable": "Disable All",
      "all_enable": "Enable All",
      "bind_first_to_enable": "Bind a shortcut first to change its enabled state",
      "categories": {
        "assistant": "AI Tools",
        "chat": "Messages",
        "general": "General",
        "title": "Shortcut Groups",
        "topic": "Conversations"
      },
      "clear_shortcut": "Clear Shortcut",
      "clear_topic": "Clear Messages",
      "close_tab": "Close Tab",
      "conflict_with": "Already used by \"{{name}}\"",
      "copy_last_message": "Copy Last Message",
      "edit_last_user_message": "Edit Last User Message",
      "empty": "No shortcuts are available in this group",
      "enabled": "Enable",
      "exit_fullscreen": "Exit Fullscreen",
      "label": "Key",
      "move_tab_to_first": "Move Tab to First",
      "new_topic": "New Topic",
      "occupied_by_other_application": "This shortcut is already used by the system or another application",
      "open_tab_in_new_window": "Open Tab in New Window",
      "pin_tab": "Toggle Pin Tab",
      "press_shortcut": "Press Shortcut",
      "quick_assistant": "Quick Assistant",
      "rename_topic": "Rename Topic",
      "reset": "Reset",
      "reset_defaults": "Reset Defaults",
      "reset_defaults_confirm": "Are you sure you want to reset all shortcuts?",
      "reset_defaults_failed": "Failed to reset shortcuts to defaults",
      "reset_to_default": "Reset to Default",
      "save_failed": "Failed to save shortcut",
      "save_failed_with_name": "Failed to save shortcut: {{name}}",
      "search_message": "Search Message",
      "search_message_in_chat": "Search Message in Current Chat",
      "search_placeholder": "Search shortcuts...",
      "select_model": "Select Model",
      "selection_assistant_select_text": "Selection Assistant: Select Text",
      "selection_assistant_toggle": "Toggle Selection Assistant",
      "show_app": "Show/Hide App",
      "show_settings": "Open Settings",
      "title": "Keyboard Shortcuts",
      "toggle_left_sidebar": "Toggle Left Sidebar",
      "toggle_new_context": "Clear Context",
      "toggle_right_sidebar": "Toggle Right Sidebar",
      "toggle_show_topics": "Toggle Topics",
      "toggle_sidebar": "Toggle Sidebar",
      "zoom_in": "Zoom In",
      "zoom_out": "Zoom Out",
      "zoom_reset": "Reset Zoom"
    },
    "skills": {
      "author": "Author",
      "batchUninstallSuccess": "{{count}} skills uninstalled",
      "builtin": "Built-in",
      "confirmBatchUninstall": "Are you sure you want to uninstall {{count}} selected skills?",
      "confirmUninstall": "Are you sure you want to uninstall this skill?",
      "directory": "Directory",
      "dropHint": "Or drag & drop a ZIP file or folder here",
      "emptyDesc": "Install skills from ZIP, directory, or search online registries to extend agent capabilities.",
      "emptyTip": "Tip: You can also ask an agent to install skills for you.",
      "emptyTitle": "No skill selected",
      "filterPlaceholder": "Filter skills...",
      "install": "Install",
      "installFailed": "Failed to install skill: {{name}}",
      "installFromDirectory": "Install from directory",
      "installFromZip": "Install from ZIP file",
      "installSuccess": "Skill installed: {{name}}",
      "installed": "Installed",
      "invalidFormat": "Only ZIP files and directories are supported",
      "localInstall": "Local Install",
      "multiSelect": "Multi-select",
      "noFilterResults": "No matching skills",
      "noInstalled": "No skills installed",
      "noResults": "No skills found",
      "noSkillFile": "No SKILL.md found",
      "searchPlaceholder": "Discover more skills...",
      "searchRegistryTitle": "Search skill registries online",
      "searchTitle": "Search Skills",
      "selectFile": "Select a file to view",
      "title": "Skills",
      "uninstall": "Uninstall",
      "uninstallSuccess": "Skill uninstalled: {{name}}",
      "viewSource": "View Source",
      "zip": "ZIP"
    },
    "theme": {
      "color_primary": "Primary Color",
      "dark": "Dark",
      "light": "Light",
      "system": "System",
      "title": "Theme",
      "window": {
        "style": {
          "opaque": "Opaque Window",
          "title": "Window Style",
          "transparent": "Transparent Window"
        }
      }
    },
    "title": "Settings",
    "tool": {
      "file_processing": {
        "actions": {
          "set_as_default": "Set as default"
        },
        "errors": {
          "invalid_api_host": "Invalid API host",
          "load_processors_failed": "Failed to load available processors",
          "save_failed": "Save failed"
        },
        "features": {
          "document_to_markdown": {
            "title": "Document Processing",
            "tooltip": "Used to parse documents for knowledge bases"
          },
          "image_to_text": {
            "title": "OCR",
            "tooltip": "Used to recognize text in images"
          }
        },
        "fields": {
          "api_base_url": "API Base URL",
          "api_key": "API Key",
          "api_keys_placeholder": "Separate multiple keys with commas",
          "languages": "Languages"
        },
        "processors": {
          "doc2x": {
            "description": "Advanced file restoration engine.",
            "name": "Doc2x"
          },
          "mineru": {
            "description": "OpenDataLab's open-source high-quality PDF extraction tool.",
            "name": "MinerU"
          },
          "mistral": {
            "description": "File parsing and understanding service.",
            "name": "Mistral"
          },
          "open_mineru": {
            "description": "Self-hostable MinerU service for teams that want more control over the processing pipeline.",
            "name": "Open MinerU"
          },
          "ovocr": {
            "description": "Intel OpenVINO OCR engine that runs locally with NPU acceleration.",
            "name": "Intel OV OCR"
          },
          "paddleocr": {
            "deployment": {
              "description": "You can deploy PaddleOCR locally with the officially supported Docker image, then enter the API address here.",
              "docs": "View Docker deployment docs"
            },
            "description": "Baidu PaddleOCR recognition system.",
            "fields": {
              "parse_model": "Parse Model"
            },
            "name": "PaddleOCR"
          },
          "system": {
            "description": "Native operating system OCR engine.",
            "name": "System OCR",
            "status": {
              "available": "Detected available macOS Live Text / Windows OCR engine.",
              "no_configuration": "System OCR calls the native system engine directly. It is fastest, but accuracy depends on the OS version."
            }
          },
          "tesseract": {
            "description": "Google's open-source OCR engine that runs fully locally.",
            "name": "Tesseract OCR"
          }
        },
        "title": "Document Parsing"
      },
      "title": "Other Settings",
      "websearch": {
        "api_key_required": {
          "content": "{{provider}} requires an API key to work. Would you like to configure it now?",
          "ok": "Configure",
          "title": "API Key Required"
        },
        "api_providers": "API Providers",
        "apikey": "API key",
        "blacklist": "Blacklist",
        "blacklist_description": "Results from the following websites will not appear in search results",
        "blacklist_invalid_entries": "Invalid blacklist entries: {{entries}}",
        "blacklist_tooltip": "Please use the following format (separated by newlines)\nPattern matching: *://*.example.com/*\nRegular expression: /example\\.(net|org)/",
        "check": "Check",
        "check_failed": "Verification failed",
        "check_success": "Verification successful",
        "compression": {
          "cutoff": {
            "limit": {
              "label": "Cutoff Limit",
              "placeholder": "Enter length",
              "tooltip": "Limit the content length of search results, content exceeding the limit will be truncated (e.g., 2000 characters)"
            },
            "unit": {
              "char": "Char",
              "token": "Token"
            }
          },
          "method": {
            "cutoff": "Cutoff",
            "label": "Compression Method",
            "none": "None"
          },
          "title": "Search Result Compression"
        },
        "content_limit": "Content length limit",
        "content_limit_tooltip": "Limit the content length of the search results; content that exceeds the limit will be truncated.",
        "default_provider": "Default Provider",
        "errors": {
          "save_failed": "Save failed",
          "zhipu_sync_failed": "Failed to sync Zhipu API key to Web Search. Please re-save the key or check Web Search settings."
        },
        "fetch_urls_provider": "Default URL fetch provider",
        "free": "Free",
        "is_default": "Default",
        "local_provider": {
          "hint": "Log in to the website to get better search results and personalize your search settings.",
          "open_settings": "Open {{provider}} Settings",
          "settings": "Local Search Settings"
        },
        "local_providers": "Local Providers",
        "no_provider_selected": "Please select a search service provider before checking.",
        "overwrite": "Override search service",
        "overwrite_tooltip": "Force use search service instead of LLM",
        "provider_description": {
          "bocha": "Chinese AI search API with real-time web and structured results.",
          "exa": "Neural search API for AI apps, tuned for semantic web retrieval.",
          "exa_mcp": "Expose Exa search to agents through the Exa MCP Server.",
          "fetch": "Built-in URL fetch provider. Fetches web page content from a URL to enrich search results.",
          "jina": "Jina Reader search and read APIs for retrieving clean web content.",
          "querit": "Search service for AI apps with web retrieval results.",
          "searxng": "Self-hostable free internet metasearch engine across many sources.",
          "tavily": "Search engine optimized for LLMs.",
          "zhipu": "Zhipu GLM Web Search for live web retrieval and current information."
        },
        "search_max_result": {
          "label": "Number of search results",
          "tooltip": "When search result compression is disabled, the number of results may be too large, which may lead to insufficient tokens"
        },
        "search_provider": "Search service provider",
        "search_provider_placeholder": "Choose a search service provider.",
        "set_as_default": "Set as Default",
        "tavily": {
          "api_key": {
            "label": "Tavily API Key",
            "placeholder": "Enter Tavily API Key"
          },
          "description": "Tavily is a search engine tailored for AI agents, delivering real-time, accurate results, intelligent query suggestions, and in-depth research capabilities.",
          "title": "Tavily"
        },
        "title": "Web Search",
        "url_invalid": "Entered an invalid URL",
        "url_required": "Please enter a URL"
      }
    },
    "topic": {
      "pin_to_top": "Pin Topics to Top",
      "position": {
        "label": "Topic position",
        "left": "Left",
        "right": "Right"
      },
      "show": {
        "time": "Show topic time"
      }
    },
    "translate": {
      "custom": {
        "delete": {
          "description": "Are you sure you want to delete?",
          "title": "Delete custom language"
        },
        "error": {
          "add": "Failed to add",
          "delete": "Deletion failed",
          "langCode": {
            "builtin": "The language has built-in support",
            "empty": "Language code is empty",
            "exists": "The language already exists",
            "invalid": "Invalid language code"
          },
          "update": "Update failed",
          "value": {
            "empty": "Language name cannot be empty",
            "too_long": "Language name is too long"
          }
        },
        "langCode": {
          "help": "[language+region] format, [2-3 lowercase letters]-[2-3 lowercase letters]",
          "label": "Language code",
          "placeholder": "en-us"
        },
        "success": {
          "add": "Added successfully",
          "delete": "Deleted successfully",
          "update": "Update successful"
        },
        "table": {
          "action": {
            "title": "Operation"
          }
        },
        "value": {
          "help": "1~32 characters",
          "label": "Language name",
          "placeholder": "English"
        }
      },
      "prompt": "Translation prompt",
      "title": "Translation settings"
    },
    "tray": {
      "onclose": "Minimize to Tray on Close",
      "show": "Show Tray Icon",
      "title": "Tray"
    },
    "use_system_title_bar": {
      "confirm": {
        "content": "Changing the title bar style requires restarting the app to take effect. Do you want to restart now?",
        "title": "Restart Required"
      },
      "title": "Use System Title Bar (Linux)"
    },
    "zoom": {
      "reset": "Reset",
      "title": "Page Zoom"
    }
  },
  "subWindow": {
    "back_to_main": "Back to Main Window",
    "pin": "Keep on Top",
    "unpin": "Cancel Keep on Top"
  },
  "tab": {
    "close": "Close Tab",
    "move_to_first": "Move to First",
    "new": "New Tab",
    "open_in_new_window": "Open in New Window",
    "pin": "Pin Tab",
    "unpin": "Unpin Tab"
  },
  "title": {
    "apps": "Apps",
    "code": "Code",
    "files": "Files",
    "home": "Home",
    "knowledge": "Knowledge Base",
    "launchpad": "Launchpad",
    "mcp-servers": "MCP Servers",
    "notes": "Notes",
    "openclaw": "OpenClaw",
    "paintings": "Paintings",
    "settings": "Settings",
    "store": "Assistant Library",
    "translate": "Translate",
    "work": "Work"
  },
  "trace": {
    "agent": "Agent",
    "backList": "Back To List",
    "cachedTokens": "Cached",
    "endTime": "End Time",
    "inputs": "Inputs",
    "label": "Call Chain",
    "model": "Model",
    "name": "Node Name",
    "noTraceList": "No trace information found",
    "operation": "Operation",
    "outputs": "Outputs",
    "pollError": "Polling failed",
    "reasoningTokens": "Reasoning",
    "requestHeaders": "Request Headers",
    "requestMethod": "Request Method",
    "requestUrl": "Request URL",
    "responseHeaders": "Response Headers",
    "responseStatus": "Response Status",
    "serverDescription": "Server Description",
    "serverName": "Server Name",
    "serverType": "Server Type",
    "spanDetail": "Span Details",
    "spendTime": "Spend Time",
    "startTime": "Start Time",
    "status": "Status",
    "tag": "Tag",
    "tokenUsage": "Token Usage",
    "toolCalls": "Tool Calls"
  },
  "translate": {
    "alter_language": "Alternative Language",
    "any": {
      "language": "Any language"
    },
    "button": {
      "translate": "Translate"
    },
    "close": "Close",
    "closed": "Translation closed",
    "complete": "Translation completed",
    "confirm": {
      "content": "Translation will replace the original text, continue?",
      "title": "Translation Confirmation"
    },
    "copied": "Translation content copied",
    "custom": {
      "label": "Custom language"
    },
    "detect": {
      "method": {
        "algo": {
          "label": "algorithm",
          "tip": "Using the franc library for language detection"
        },
        "auto": {
          "label": "Automatic",
          "tip": "Automatically select the appropriate detection method"
        },
        "label": "Automatic detection method",
        "llm": {
          "label": "LLM",
          "tip": "Using the quick model for language detection consumes fewer tokens."
        },
        "placeholder": "Select automatic detection method",
        "tip": "Method used when automatically detecting the input language"
      }
    },
    "detected": {
      "language": "Auto Detect"
    },
    "detected_source": "Detected",
    "detecting": "Detecting...",
    "empty": "Translation content is empty",
    "error": {
      "auto_copy_failed": "Failed to auto-copy translation result",
      "chat_qwen_mt": "Qwen MT model cannot be used in chat. Please go to the translation page.",
      "detect": {
        "empty": "Detected language is empty",
        "failed": "Language detection failed",
        "invalid": "Detected language is not supported",
        "qwen_mt": "QwenMT model cannot be used for language detection",
        "unknown": "Unknown language detected",
        "update_setting": "Setting failed"
      },
      "empty": "The translation result is empty content",
      "failed": "Translation failed",
      "invalid_source": "Invalid source language",
      "languages_load_failed": "Failed to load translate languages. Some features may be unavailable.",
      "not_configured": "Translation model is not configured",
      "not_supported": "Unsupported language {{language}}",
      "unknown": "An unknown error occurred during translation"
    },
    "exchange": {
      "label": "Swap the source and target languages"
    },
    "files": {
      "drag_text": "Drop here",
      "error": {
        "check_type": "An error occurred while checking the file type",
        "multiple": "Multiple file uploads are not allowed",
        "ocr": "Failed to recognize image text",
        "too_large": "File too large",
        "unknown": "Failed to read file content"
      },
      "ocr_completed": "Image OCR complete",
      "reading": "Reading file content...",
      "upload": "Drop or click to upload image/document"
    },
    "history": {
      "back": "Back to list",
      "clear": "Clear History",
      "clear_description": "Clear history will delete all translation history, continue?",
      "copy_target": "Copy result",
      "delete": "Delete translation history",
      "delete_description": "Delete this translation history record? This action cannot be undone.",
      "empty": "No translation history",
      "error": {
        "add": "Failed to add translation history",
        "clear": "Failed to clear translation history",
        "delete": "Deletion failed",
        "load": "Failed to load translation history",
        "save": "Failed to save translation history"
      },
      "filter": {
        "starred": "Only starred"
      },
      "reuse": "Reuse",
      "search": {
        "placeholder": "Search translation history"
      },
      "source": "Source",
      "success": {
        "add": "Saved to history",
        "clear": "History cleared",
        "delete": "Deleted",
        "update": "Saved"
      },
      "target": "Target",
      "title": "Translation History"
    },
    "info": {
      "aborted": "Translation aborted"
    },
    "input": {
      "placeholder": "Enter text..."
    },
    "language": {
      "not_pair": "Source language is different from the set language",
      "same": "Source and target languages are the same"
    },
    "language_settings": "Language Settings",
    "menu": {
      "description": "Translate the content of the current input box"
    },
    "not": {
      "found": "Translation content not found"
    },
    "output": {
      "placeholder": "Translation"
    },
    "preferred_target": "Preferred Target",
    "processing": "Translation in progress...",
    "settings": {
      "autoCopy": "Copy after translation ",
      "bidirectional": "Bidirectional Translation Settings",
      "bidirectional_tip": "When enabled, only bidirectional translation between source and target languages is supported",
      "error": {
        "save": "Failed to save translation settings"
      },
      "model": "Model Settings",
      "model_desc": "Model used for translation service",
      "model_placeholder": "Select translation model",
      "no_model_warning": "No translation model selected",
      "preview": "Markdown Preview",
      "scroll_sync": "Scroll Sync Settings",
      "title": "Translation Settings"
    },
    "source_language": "Source Language",
    "stop": "Stop Translation",
    "success": {
      "custom": {
        "delete": "Deleted successfully",
        "update": "Update successful"
      }
    },
    "target_language": "Target Language",
    "title": "Translation",
    "tooltip": {
      "newline": "Newline"
    }
  },
  "tray": {
    "quit": "Quit",
    "show_quick_assistant": "Quick Assistant",
    "show_window": "Show Window"
  },
  "update": {
    "install": "Install",
    "later": "Later",
    "message": "New version {{version}} is ready, do you want to install it now?",
    "noReleaseNotes": "No release notes",
    "saveDataError": "Failed to save data, please try again.",
    "title": "Update"
  },
  "warning": {
    "missing_provider": "The supplier does not exist; reverted to the default supplier {{provider}}. This may cause issues."
  },
  "words": {
    "knowledgeGraph": "Knowledge Graph",
    "quit": "Quit",
    "show_window": "Show Window",
    "visualization": "Visualization"
  }
}
