{
  "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",
      "customPlaceholder": "Enter your answer...",
      "loading": "Loading questions...",
      "multiSelect": "Multi-select",
      "next": "Next",
      "noQuestions": "No questions available",
      "other": "Other",
      "previous": "Previous",
      "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",
        "deleteConfirm": "Delete channel \"{{name}}\"?",
        "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",
        "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.",
        "intervalPlaceholder": "Interval in minutes",
        "intervalUnit": "minutes",
        "lastRun": "Last Run",
        "logs": {
          "duration": "Duration",
          "empty": "No run history yet.",
          "error": "Error",
          "justNow": "just now",
          "label": "Run History",
          "result": "Result",
          "runAt": "Run At",
          "running": "Running...",
          "search": "Search logs...",
          "status": "Status",
          "success": "Success",
          "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",
          "label": "Schedule Type",
          "once": "Once"
        },
        "scheduleValue": "Schedule Value",
        "status": {
          "active": "Active",
          "completed": "Completed",
          "paused": "Paused"
        },
        "tab": "Tasks",
        "time": {
          "hoursAgo": "{{count}}h ago",
          "minutesAgo": "{{count}}m ago"
        },
        "timeout": {
          "label": "Timeout",
          "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."
    },
    "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."
      }
    },
    "reorder": {
      "error": {
        "failed": "Failed to reorder agents"
      }
    },
    "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"
      },
      "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"
      },
      "edit": {
        "title": "Edit session"
      },
      "get": {
        "error": {
          "failed": "Failed to get the session",
          "null_id": "Session ID is null"
        }
      },
      "label_one": "Session",
      "label_other": "Sessions",
      "reorder": {
        "error": {
          "failed": "Failed to reorder sessions"
        }
      },
      "update": {
        "error": {
          "failed": "Failed to update the session"
        }
      }
    },
    "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": {
      "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": {
        "allowAll": "Always Allow",
        "cancel": "Cancel",
        "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": {
        "Bash": {
          "description": "Executes shell commands in your environment"
        },
        "Edit": {
          "description": "Makes targeted edits to specific files"
        },
        "Glob": {
          "description": "Finds files based on pattern matching"
        },
        "Grep": {
          "description": "Searches for patterns in file contents"
        },
        "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"
        },
        "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"
        },
        "Write": {
          "description": "Creates or overwrites files"
        }
      }
    },
    "type": {
      "label": "Agent Type",
      "unknown": "Unknown Type"
    },
    "update": {
      "error": {
        "failed": "Failed to update the agent"
      }
    },
    "warning": {
      "enable_and_start": "Enable & Start",
      "enable_server": "Enable API Server to use agents.",
      "enable_server_description": "The API server must be enabled for agents to work. You can enable it directly or configure it in settings.",
      "server_not_running": "API Server is enabled but not running. Please check the server configuration.",
      "server_not_running_description": "The API server needs to be running for agents to work. You can start it directly or check the settings."
    }
  },
  "apiServer": {
    "actions": {
      "copy": "Copy",
      "regenerate": "Regenerate",
      "restart": {
        "button": "Restart",
        "tooltip": "Restart Server"
      },
      "start": "Start",
      "stop": "Stop"
    },
    "authHeader": {
      "title": "Authorization Header"
    },
    "authHeaderText": "Use in Authorization header:",
    "configuration": "Configuration",
    "description": "Expose Cherry Studio's AI capabilities through OpenAI-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 HTTP server (1000-65535)",
        "helpText": "Stop server 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 Server is not enabled.",
      "operationFailed": "API Server operation failed: ",
      "restartError": "Failed to restart API Server: ",
      "restartFailed": "API Server restart failed: ",
      "restartSuccess": "API Server restarted successfully",
      "startError": "Failed to start API Server: ",
      "startSuccess": "API Server started successfully",
      "stopError": "Failed to stop API Server: ",
      "stopSuccess": "API Server stopped successfully",
      "urlCopied": "Server URL copied to clipboard"
    },
    "status": {
      "running": "Running",
      "stopped": "Stopped"
    },
    "title": "API Server"
  },
  "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?",
      "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"
    },
    "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": {
        "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",
        "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"
    },
    "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"
  },
  "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_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."
          }
        }
      }
    },
    "assistant": {
      "search": {
        "placeholder": "Search"
      }
    },
    "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"
    },
    "input": {
      "auto_resize": "Auto resize height",
      "clear": {
        "content": "Do you want to clear all messages of the current topic?",
        "label": "Clear {{Command}}",
        "title": "Clear all messages?"
      },
      "collapse": "Collapse",
      "context_count": {
        "tip": "Context / Max Context"
      },
      "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",
      "generate_image": "Generate image",
      "generate_image_not_supported": "The model does not support generating images.",
      "knowledge_base": "Knowledge Base",
      "new": {
        "context": "Clear Context {{Command}}"
      },
      "new_session": "New Session {{Command}}",
      "new_topic": "New Topic {{Command}}",
      "paste_text_file_confirm": "Paste into input bar?",
      "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",
      "settings": "Settings",
      "slash_commands": {
        "description": "Agent session slash commands",
        "title": "Slash Commands"
      },
      "thinking": {
        "budget_exceeds_max": "Thinking budget exceeds the maximum token number",
        "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."
          }
        }
      },
      "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)",
        "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": {
      "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": {
          "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...",
          "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)",
    "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"
      },
      "edit": {
        "placeholder": "Enter new name",
        "title": "Edit Name",
        "title_tip": "Tips: Double-click the topic name to rename it directly in place"
      },
      "export": {
        "image": "Export as image",
        "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"
      },
      "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",
    "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",
    "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",
    "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",
      "success": "Launch successful",
      "validation_error": "Please complete all required fields: CLI tool, model, and working directory"
    },
    "launching": "Launching...",
    "model": "Model",
    "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_placeholder": "Select terminal application",
    "title": "Code Tools",
    "update_options": "Update Options",
    "working_directory": "Working Directory"
  },
  "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_one": "Agent",
    "agent_other": "Agents",
    "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",
    "collapse": "Collapse",
    "completed": "Completed",
    "confirm": "Confirm",
    "copied": "Copied",
    "copy": "Copy",
    "copy_failed": "Copy failed",
    "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...",
    "model": "Model",
    "models": "Models",
    "more": "More",
    "name": "Name",
    "next_match": "Next match",
    "no_results": "No results",
    "none": "None",
    "off": "Off",
    "on": "On",
    "open": "Open",
    "open_in": "Open in {{name}}",
    "paste": "Paste",
    "placeholders": {
      "select": {
        "model": "Select a model"
      }
    },
    "powered_by": "Powered by ",
    "preview": "Preview",
    "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",
    "retry": "Retry",
    "save": "Save",
    "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",
    "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"
  },
  "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",
    "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"
    },
    "document": "Document",
    "edit": "Edit",
    "error": {
      "open_path": "Failed to open path {{path}}"
    },
    "file": "File",
    "image": "Image",
    "name": "Name",
    "open": "Open",
    "preview": {
      "error": "Failed to open file"
    },
    "size": "Size",
    "text": "Text",
    "title": "Files",
    "type": "Type"
  },
  "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"
    },
    "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"
  },
  "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": {
      "title": "Add Knowledge Base"
    },
    "add_directory": "Add Directory",
    "add_file": "Add File",
    "add_image": "Add Image",
    "add_note": "Add Note",
    "add_sitemap": "Website Map",
    "add_url": "Add URL",
    "add_video": "Add video",
    "cancel_index": "Cancel Indexing",
    "chunk_overlap": "Chunk Overlap",
    "chunk_overlap_placeholder": "Default (not recommended to change)",
    "chunk_overlap_tooltip": "The amount of duplicate content between adjacent chunks, ensuring that the chunks are still contextually related, improving the overall effect of processing long text",
    "chunk_size": "Chunk Size",
    "chunk_size_change_warning": "Chunk size and overlap size changes only apply to new content",
    "chunk_size_placeholder": "Default (not recommended to change)",
    "chunk_size_too_large": "Chunk size cannot exceed model context limit ({{max_context}})",
    "chunk_size_tooltip": "Split documents into chunks, each chunk size, not exceeding model context limit",
    "clear_selection": "Clear selection",
    "delete": "Delete",
    "delete_confirm": "Are you sure you want to delete this knowledge base?",
    "dimensions": "Embedding dimension",
    "dimensions_auto_set": "Auto-set embedding dimensions",
    "dimensions_default": "The model will use default embedding dimensions",
    "dimensions_error_invalid": "Invalid embedding dimension",
    "dimensions_set_right": "⚠️ Please ensure the model supports the set embedding dimension size",
    "dimensions_size_placeholder": "Leave empty to not pass dimensions",
    "dimensions_size_too_large": "The embedding dimension cannot exceed the model's context limit ({{max_context}}).",
    "dimensions_size_tooltip": "Embedding dimension size, the larger the value, the more tokens will be consumed. Leave empty to not pass dimensions parameter.",
    "directories": "Directories",
    "directory_placeholder": "Enter Directory Path",
    "document_count": "Requested Document Chunks",
    "document_count_default": "Default",
    "document_count_help": "The more document chunks requested, the more information is included, but the more tokens are consumed",
    "drag_file": "Drag file here",
    "drag_image": "Drag image here",
    "edit_remark": "Edit Remark",
    "edit_remark_placeholder": "Please enter remark content",
    "embedding_model": "Embedding Model",
    "embedding_model_required": "Knowledge Base Embedding Model is required",
    "empty": "No knowledge base found",
    "error": {
      "failed_to_create": "Knowledge base creation failed",
      "failed_to_edit": "Knowledge base editing failed",
      "model_invalid": "No model selected",
      "video": {
        "local_file_missing": "Video file not found",
        "youtube_url_missing": "YouTube video URL not found"
      }
    },
    "file_hint": "Support {{file_types}}",
    "image_hint": "Support {{image_types}}",
    "images": "Images",
    "index_all": "Index All",
    "index_cancelled": "Indexing cancelled",
    "index_started": "Indexing started",
    "invalid_url": "Invalid URL",
    "migrate": {
      "button": {
        "text": "Migrate"
      },
      "confirm": {
        "content": "Detected changes in embedding model or dimension, cannot save configuration directly. Knowledge base migration will not delete the existing knowledge base, but will create a copy and then reprocess all knowledge base entries, which may consume a large number of tokens, please proceed with caution.",
        "ok": "Start Migration",
        "title": "Knowledge Base Migration"
      },
      "error": {
        "failed": "Migration failed"
      },
      "source_dimensions": "Source Dimensions",
      "source_model": "Source Model",
      "target_dimensions": "Target Dimensions",
      "target_model": "Target Model"
    },
    "model_info": "Model Info",
    "name_required": "Knowledge Base Name is required",
    "no_bases": "No knowledge bases available",
    "no_match": "No matching content found in the knowledge base.",
    "no_provider": "Knowledge base model provider is not set, the knowledge base will no longer be supported, please create a new knowledge base",
    "not_set": "Not Set",
    "not_support": "Knowledge base database engine updated, the knowledge base will no longer be supported, please create a new knowledge base",
    "notes": "Notes",
    "notes_placeholder": "Enter additional information or context for this knowledge base...",
    "provider_not_found": "Provider not found",
    "rename": "Rename",
    "search": "Search knowledge base",
    "search_placeholder": "Enter text to search",
    "settings": {
      "preprocessing": "Preprocessing",
      "preprocessing_tooltip": "Preprocess uploaded files",
      "title": "Knowledge Base Settings"
    },
    "sitemap_added": "Added successfully",
    "sitemap_placeholder": "Enter Website Map URL",
    "sitemaps": "Websites",
    "source": "Source",
    "status": "Status",
    "status_completed": "Completed",
    "status_embedding_completed": "Embedding Completed",
    "status_embedding_failed": "Embedding Failed",
    "status_failed": "Failed",
    "status_new": "Added",
    "status_pending": "Pending",
    "status_preprocess_completed": "Preprocessing Completed",
    "status_preprocess_failed": "Preprocessing Failed",
    "status_processing": "Processing",
    "subtitle_file": "subtitle file",
    "threshold": "Matching threshold",
    "threshold_placeholder": "Not set",
    "threshold_too_large_or_small": "Threshold cannot be greater than 1 or less than 0",
    "threshold_tooltip": "Used to evaluate the relevance between the user's question and the content in the knowledge base (0-1)",
    "title": "Knowledge Base",
    "topN": "Number of results returned",
    "topN_placeholder": "Not set",
    "topN_too_large_or_small": "The number of results returned cannot be greater than 30 or less than 1.",
    "topN_tooltip": "The number of matching results returned; the larger the value, the more matching results, but also the more tokens consumed.",
    "url_added": "URL added",
    "url_placeholder": "Enter URL, multiple URLs separated by Enter",
    "urls": "URLs",
    "videos": "video",
    "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"
  },
  "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"
  },
  "memory": {
    "actions": "Actions",
    "add_failed": "Failed to add memory",
    "add_first_memory": "Add Your First Memory",
    "add_memory": "Add Memory",
    "add_new_user": "Add New User",
    "add_success": "Memory added successfully",
    "add_user": "Add User",
    "add_user_failed": "Failed to add user",
    "all_users": "All Users",
    "cannot_delete_default_user": "Cannot delete the default user",
    "configure_memory_first": "Please configure memory settings first",
    "content": "Content",
    "current_user": "Current User",
    "custom": "Custom",
    "default": "Default",
    "default_user": "Default User",
    "delete_confirm": "Are you sure you want to delete this memory?",
    "delete_confirm_content": "Are you sure you want to delete {{count}} memories?",
    "delete_confirm_single": "Are you sure you want to delete this memory?",
    "delete_confirm_title": "Delete Memories",
    "delete_failed": "Failed to delete memory",
    "delete_selected": "Delete Selected",
    "delete_success": "Memory deleted successfully",
    "delete_user": "Delete User",
    "delete_user_confirm_content": "Are you sure you want to delete user {{user}} and all their memories?",
    "delete_user_confirm_title": "Delete User",
    "delete_user_failed": "Failed to delete user",
    "description": "Memory allows you to store and manage information about your interactions with the assistant. You can add, edit, and delete memories, as well as filter and search through them.",
    "edit_memory": "Edit Memory",
    "embedding_dimensions": "Embedding Dimensions",
    "embedding_model": "Embedding Model",
    "enable_global_memory_first": "Please enable global memory first",
    "end_date": "End Date",
    "global_memory": "Global Memory",
    "global_memory_description": "To use memory features, please enable global memory in assistant settings.",
    "global_memory_disabled_desc": "To use memory features, please enable global memory in assistant settings first.",
    "global_memory_disabled_title": "Global Memory Disabled",
    "global_memory_enabled": "Global memory enabled",
    "go_to_memory_page": "Go to Memory Page",
    "initial_memory_content": "Welcome! This is your first memory.",
    "llm_model": "LLM Model",
    "load_failed": "Failed to load memories",
    "loading": "Loading memories...",
    "loading_memories": "Loading memories...",
    "memories_description": "Showing {{count}} of {{total}} memories",
    "memories_reset_success": "All memories for {{user}} have been reset successfully",
    "memory": "memory",
    "memory_content": "Memory Content",
    "memory_placeholder": "Enter memory content...",
    "new_user_id": "New User ID",
    "new_user_id_placeholder": "Enter a unique user ID",
    "no_matching_memories": "No matching memories found",
    "no_memories": "No memories yet",
    "no_memories_description": "Start by adding your first memory to get started",
    "not_configured_desc": "Please configure embedding and LLM models in memory settings to enable memory functionality.",
    "not_configured_title": "Memory Not Configured",
    "pagination_total": "{{start}}-{{end}} of {{total}} items",
    "please_enter_memory": "Please enter memory content",
    "please_select_embedding_model": "Please select an embedding model",
    "please_select_llm_model": "Please select an LLM model",
    "reset_filters": "Reset Filters",
    "reset_memories": "Reset Memories",
    "reset_memories_confirm_content": "Are you sure you want to permanently delete all memories for {{user}}? This action cannot be undone.",
    "reset_memories_confirm_title": "Reset All Memories",
    "reset_memories_failed": "Failed to reset memories",
    "reset_user_memories": "Reset User Memories",
    "reset_user_memories_confirm_content": "Are you sure you want to reset all memories for {{user}}?",
    "reset_user_memories_confirm_title": "Reset User Memories",
    "reset_user_memories_failed": "Failed to reset user memories",
    "score": "Score",
    "search": "Search",
    "search_placeholder": "Search memories...",
    "select_embedding_model_placeholder": "Select Embedding Model",
    "select_llm_model_placeholder": "Select LLM Model",
    "select_user": "Select User",
    "settings": "Settings",
    "settings_title": "Memory Settings",
    "start_date": "Start Date",
    "statistics": "Statistics",
    "stored_memories": "Stored Memories",
    "switch_user": "Switch User",
    "switch_user_confirm": "Switch user context to {{user}}?",
    "time": "Time",
    "title": "Memories",
    "total_memories": "total memories",
    "try_different_filters": "Try adjusting your search criteria",
    "update_failed": "Failed to update memory",
    "update_success": "Memory updated successfully",
    "user": "User",
    "user_created": "User {{user}} created and switched successfully",
    "user_deleted": "User {{user}} deleted successfully",
    "user_id": "User ID",
    "user_id_exists": "This user ID already exists",
    "user_id_invalid_chars": "User ID can only contain letters, numbers, hyphens and underscores",
    "user_id_placeholder": "Enter user ID (optional)",
    "user_id_required": "User ID is required",
    "user_id_reserved": "'default-user' is reserved, please use a different ID",
    "user_id_rules": "User ID must be unique and contain only letters, numbers, hyphens (-) and underscores (_)",
    "user_id_too_long": "User ID cannot exceed 50 characters",
    "user_management": "User Management",
    "user_memories_reset": "All memories for {{user}} have been reset",
    "user_switch_failed": "Failed to switch user",
    "user_switched": "User context switched to {{user}}",
    "users": "users"
  },
  "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",
      "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."
      },
      "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"
      },
      "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",
      "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",
        "todoWrite": "Todo Write",
        "tool": "Tool",
        "webFetch": "Web Fetch",
        "webSearch": "Web Search",
        "write": "Write"
      },
      "noData": "No data available for this tool",
      "pending": "Pending",
      "preview": "Preview",
      "raw": "Raw",
      "runningCount": "{{count}} tools running",
      "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",
      "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)",
      "rag": "Executing RAG...",
      "rag_complete": "Keeping {{countAfter}} out of {{countBefore}} results...",
      "rag_failed": "RAG failed, returning empty results..."
    }
  },
  "minapp": {
    "add_to_launchpad": "Add to Launchpad",
    "add_to_sidebar": "Add to Sidebar",
    "popup": {
      "close": "Close MinApp",
      "devtools": "Developer Tools",
      "goBack": "Go Back",
      "goForward": "Go Forward",
      "minimize": "Minimize MinApp",
      "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",
      "rightclick_copyurl": "Right-click to copy URL"
    },
    "remove_from_launchpad": "Remove from Launchpad",
    "remove_from_sidebar": "Remove from Sidebar",
    "sidebar": {
      "close": {
        "title": "Close"
      },
      "closeall": {
        "title": "Close All"
      },
      "hide": {
        "title": "Hide"
      },
      "remove_custom": {
        "title": "Delete Custom App"
      }
    },
    "title": "MinApp"
  },
  "minapps": {
    "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",
    "nami-ai-search": "Nami AI Search",
    "qwen": "Qwen",
    "sensechat": "SenseChat",
    "stepfun": "Stepfun",
    "tencent-yuanbao": "Yuanbao",
    "tiangong-ai": "Skywork",
    "wanzhi": "Wanzhi",
    "wenxin": "ERNIE",
    "wps-copilot": "WPS Copilot",
    "xiaoyi": "Xiaoyi",
    "zhihu": "Zhihu"
  },
  "miniwindow": {
    "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"
    }
  },
  "models": {
    "add_parameter": "Add Parameter",
    "all": "All",
    "custom_parameters": "Custom Parameters",
    "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",
    "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",
      "custom_currency": "Custom Currency",
      "custom_currency_placeholder": "Enter Custom Currency",
      "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"
    },
    "stream_output": "Stream output",
    "type": {
      "embedding": "Embedding",
      "free": "Free",
      "function_calling": "Tool",
      "reasoning": "Reasoning",
      "rerank": "Reranker",
      "select": "Model Types",
      "text": "Text",
      "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",
    "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_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",
    "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}}",
    "save": "Save to Notes",
    "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."
      },
      "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",
    "title": "Notes",
    "unsaved_changes": "You have unsaved content, are you sure you want to leave?",
    "unstar": "Unfavorite",
    "untitled_folder": "New Folder",
    "untitled_note": "Untitled Note",
    "upload_failed": "Note upload failed",
    "upload_files": "Upload Files",
    "upload_folder": "Upload Folder",
    "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": {
    "builtin": {
      "system": "System OCR"
    },
    "error": {
      "provider": {
        "cannot_remove_builtin": "Cannot delete built-in provider",
        "existing": "The provider already exists",
        "get_providers": "Failed to get available providers",
        "not_found": "OCR provider does not exist",
        "update_failed": "Failed to update configuration"
      },
      "unknown": "An error occurred during the OCR process"
    },
    "file": {
      "not_supported": "Unsupported file type {{type}}"
    },
    "processing": "OCR processing...",
    "warning": {
      "provider": {
        "fallback": "Reverted to {{name}}, which may cause issues"
      }
    }
  },
  "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 outdated version of OpenClaw installed via npm has been detected. Please reinstall to get the latest official version.",
      "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",
      "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:"
    },
    "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"
      }
    },
    "custom_size": "Custom Size",
    "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.",
      "style": ", Style: ",
      "style_types": {
        "25d_animation": "2.5D Animation",
        "3d_cartoon": "3D Cartoon",
        "american_retro": "American Retro",
        "baroque": "Baroque",
        "cartoon_illustration": "Cartoon Illustration",
        "chinese_gongbi": "Chinese Gongbi",
        "clay": "Clay",
        "cyberpunk": "Cyberpunk",
        "felt": "Felt",
        "flat": "Flat",
        "fresh_anime": "Fresh Anime",
        "ghibli": "Ghibli",
        "japanese_anime": "Japanese Anime",
        "little_people_book": "Little People Book",
        "monet_garden": "Monet Garden",
        "oil_painting": "Oil Painting",
        "pixar": "Pixar",
        "pixel_art": "Pixel Art",
        "poetic_ancient": "Poetic Ancient",
        "psychedelic": "Psychedelic",
        "sketch": "Sketch",
        "street_art": "Street Art",
        "texture": "Texture",
        "ukiyo_e": "Ukiyo-e",
        "watercolor": "Watercolor",
        "wood_carving": "Wood Carving",
        "yarn_doll": "Yarn Doll"
      }
    },
    "edit": {
      "image_file": "Input Image",
      "image_required": "Please upload an image to edit first"
    },
    "generate": {
      "height": "Height",
      "magic_prompt_option_tip": "Intelligently enhances prompts for better results",
      "model_tip": "Model version: V3 is the latest version, V2 is the previous model, V2A is the fast model, V_1 is the first-generation model, _TURBO is the acceleration version",
      "negative_prompt_tip": "Describe unwanted elements, only for V_1, V_1_TURBO, V_2, and V_2_TURBO",
      "number_images_tip": "Number of images to generate",
      "person_generation": "Generate person",
      "person_generation_tip": "Allow model to generate person images",
      "rendering_speed_tip": "Controls rendering speed vs. quality trade-off, only available for V_3",
      "safety_tolerance": "Safety Tolerance",
      "safety_tolerance_tip": "Controls safety tolerance for image generation, only available for FLUX.1-Kontext-pro",
      "seed_tip": "Controls image generation randomness for reproducible results",
      "style_type_tip": "Image generation style for V_2 and above",
      "width": "Width"
    },
    "generate_failed": "Failed to generate image",
    "generated_image": "Generated Image",
    "go_to_settings": "Go to Settings",
    "guidance_scale": "Guidance Scale",
    "guidance_scale_tip": "Classifier Free Guidance. 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"
    },
    "inference_steps": "Inference Steps",
    "inference_steps_tip": "The number of inference steps to perform. 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 (1-4)",
    "operation_failed": "Operation failed, please try again later",
    "paint_course": "tutorial",
    "per_image": "per image",
    "per_images": "per images",
    "person_generation_options": {
      "allow_adult": "Allow adult",
      "allow_all": "Allow all",
      "allow_none": "Not allowed"
    },
    "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",
    "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",
      "high": "High",
      "low": "Low",
      "medium": "Medium"
    },
    "regenerate": {
      "confirm": "This will replace your existing generated images. Do you want to continue?"
    },
    "remix": {
      "image_file": "Reference Image",
      "image_weight": "Reference Image Weight",
      "image_weight_tip": "Adjust reference image influence",
      "magic_prompt_option_tip": "Intelligently enhances remix prompts",
      "model_tip": "Select AI model version for remixing",
      "negative_prompt_tip": "Describe unwanted elements in remix results",
      "number_images_tip": "Number of remix results to generate",
      "rendering_speed_tip": "Controls rendering speed vs. quality trade-off, only available for V_3",
      "seed_tip": "Control the randomness of the mixed result",
      "style_type_tip": "Style for remixed image, only for V_2 and above"
    },
    "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",
    "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_type": "Style",
    "style_types": {
      "3d": "3D",
      "anime": "Anime",
      "auto": "Auto",
      "design": "Design",
      "general": "General",
      "realistic": "Realistic"
    },
    "text_desc_required": "Please enter image description first",
    "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": {
    "copy": {
      "image": "Copy as image",
      "src": "Copy Image Source"
    },
    "dialog": "Open Dialog",
    "label": "Preview",
    "pan": "Pan",
    "pan_down": "Pan Down",
    "pan_left": "Pan Left",
    "pan_right": "Pan Right",
    "pan_up": "Pan Up",
    "reset": "Reset",
    "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 characters 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",
    "cherryin": "CherryIN",
    "copilot": "GitHub Copilot",
    "dashscope": "Alibaba Cloud",
    "deepseek": "DeepSeek",
    "dmxapi": "DMXAPI",
    "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",
    "minimax": "MiniMax CN",
    "minimax-global": "MiniMax",
    "mistral": "Mistral",
    "modelscope": "ModelScope",
    "moonshot": "Moonshot",
    "new-api": "New API",
    "nvidia": "Nvidia",
    "o3": "O3",
    "ocoolai": "ocoolAI",
    "ollama": "Ollama",
    "openai": "OpenAI",
    "openrouter": "OpenRouter",
    "ovms": "Intel OVMS",
    "perplexity": "Perplexity",
    "ph8": "PH8",
    "poe": "Poe",
    "ppio": "PPIO",
    "qiniu": "Qiniu AI",
    "qwenlm": "QwenLM",
    "silicon": "SiliconFlow",
    "sophnet": "SophNet",
    "stepfun": "StepFun",
    "tencent-cloud-ti": "Tencent Cloud TI",
    "together": "Together",
    "tokenflux": "TokenFlux",
    "vertexai": "Vertex AI",
    "voyageai": "Voyage AI",
    "xirang": "State Cloud Xirang",
    "yi": "Yi",
    "zai": "Z.ai",
    "zhinao": "360AI",
    "zhipu": "BigModel"
  },
  "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": {
        "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, Cherry Studio.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"
      }
    }
  },
  "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_knowledge": {
        "button": {
          "delete": "Delete File"
        },
        "label": "Knowledge Base Files",
        "remove_all": "Remove Knowledge Base Files",
        "remove_all_confirm": "Deleting knowledge base files will reduce the storage space occupied, but will not delete the knowledge base vector data, after deletion, the source file will no longer be able to be opened. Continue?",
        "remove_all_success": "Files removed successfully"
      },
      "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 Settings",
        "cloud_storage": "Cloud Backup Settings",
        "export_settings": "Export Settings",
        "import_settings": "Import Settings",
        "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 Settings",
        "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 Outside Application 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 Configuration",
        "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 Configuration",
        "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 Configuration"
      },
      "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 Compatible 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 Configuration",
        "token": {
          "help": "Get Siyuan Note Token",
          "label": "Siyuan Note Token"
        },
        "token_placeholder": "Please enter Siyuan Note Token"
      },
      "title": "Data Settings",
      "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 Configuration",
        "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.",
      "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"
        },
        "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"
      },
      "display": {
        "title": "Display Settings"
      },
      "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"
      }
    },
    "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",
          "method": "Import Method",
          "nameExists": "Server already exists: {{name}}",
          "noDxtFile": "Please select a DXT file",
          "oneServer": "Only one MCP server configuration at a time",
          "placeholder": "Paste MCP server JSON config",
          "selectDxtFile": "Select DXT 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",
      "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"
      },
      "search": {
        "placeholder": "Search MCP servers...",
        "tooltip": "Search MCP servers"
      },
      "searchNpx": "Search MCP",
      "serverPlural": "servers",
      "serverSingular": "server",
      "servers": "MCP Servers",
      "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",
          "tokenflux": "TokenFlux 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"
    },
    "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",
        "paste_long_text_as_file": "Paste long text as file",
        "paste_long_text_threshold": "Paste long text length",
        "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"
      },
      "prompt": "Show prompt",
      "show_message_outline": "Show message outline",
      "title": "Message Settings",
      "use_serif_font": "Use serif font"
    },
    "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_settings": "Cache Settings",
      "cache_title": "Mini App Cache Limit",
      "custom": {
        "conflicting_ids": "Conflicting IDs with default apps: {{ids}}",
        "duplicate_ids": "Duplicate IDs found: {{ids}}",
        "edit_description": "Edit custom mini app configuration here. Each app should include id, name, url, and logo fields.",
        "edit_title": "Edit Custom Mini App",
        "id": "ID",
        "id_error": "ID is required.",
        "id_placeholder": "Enter ID",
        "logo": "Logo",
        "logo_file": "Upload Logo File",
        "logo_upload_button": "Upload",
        "logo_upload_error": "Failed to upload logo.",
        "logo_upload_label": "Upload Logo",
        "logo_upload_success": "Logo uploaded successfully.",
        "logo_url": "Logo URL",
        "logo_url_label": "Logo URL",
        "logo_url_placeholder": "Enter logo URL",
        "name": "Name",
        "name_error": "Name is required.",
        "name_placeholder": "Enter name",
        "placeholder": "Enter custom mini app configuration (JSON format)",
        "remove_error": "Failed to remove custom mini app.",
        "remove_success": "Custom mini app removed successfully.",
        "save": "Save",
        "save_error": "Failed to save custom mini app.",
        "save_success": "Custom mini app saved successfully.",
        "title": "Custom",
        "url": "URL",
        "url_error": "URL is required.",
        "url_placeholder": "Enter URL"
      },
      "disabled": "Hidden Mini Apps",
      "display_title": "Mini App Display Settings",
      "empty": "Drag mini apps from the left to hide them",
      "open_link_external": {
        "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",
      "sidebar_description": "Show active mini apps in the sidebar",
      "sidebar_title": "Sidebar Active Mini Apps Display",
      "title": "Mini Apps Settings",
      "visible": "Visible Mini Apps"
    },
    "model": "Default Model",
    "models": {
      "add": {
        "add_model": "Add Model",
        "batch_add_models": "Batch Add Models",
        "endpoint_type": {
          "label": "Endpoint Type",
          "placeholder": "Select endpoint type",
          "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"
        },
        "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",
      "check": {
        "all": "All",
        "all_models_passed": "All models check passed",
        "button_caption": "Health check",
        "disabled": "Disabled",
        "disclaimer": "Health check requires sending requests, please use it with caution. Models that charge per request may incur additional costs, please bear the responsibility.",
        "enable_concurrent": "Concurrent",
        "enabled": "Enabled",
        "failed": "Failed",
        "keys_status_count": "Passed: {{count_passed}} keys, failed: {{count_failed}} keys",
        "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",
        "passed": "Passed",
        "select_api_key": "Select the API key to use:",
        "single": "Single",
        "start": "Start",
        "timeout": "Timeout",
        "title": "Model health check",
        "use_all_keys": "Key(s)"
      },
      "default_assistant_model": "Default Assistant Model",
      "default_assistant_model_description": "Model used when creating a new assistant, if the assistant is not set, this model will be used",
      "empty": "No models found",
      "manage": {
        "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",
        "fetch_list": "Fetch model list",
        "refetch_list": "Refetch model list",
        "remove_listed": "Remove models from the list",
        "remove_model": "Remove model",
        "remove_whole_group": "Remove the whole group"
      },
      "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."
      },
      "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"
      }
    },
    "privacy": {
      "enable_privacy_mode": "Anonymous reporting of errors and statistics",
      "title": "Privacy Settings"
    },
    "provider": {
      "add": {
        "name": {
          "label": "Provider Name",
          "placeholder": "Example: OpenAI"
        },
        "title": "Add Provider",
        "type": "Provider Type"
      },
      "anthropic": {
        "apikey": "API key",
        "auth_failed": "Anthropic authentication failed",
        "auth_method": "Authentication method",
        "auth_success": "Anthropic OAuth authentication successful",
        "authenticated": "Verified",
        "authenticating": "Authenticating",
        "cancel": "Cancel",
        "code_error": "Invalid authorization code, please try again",
        "code_placeholder": "Please enter the authorization code displayed in your browser",
        "code_required": "Authorization code cannot be empty",
        "description": "OAuth authentication",
        "description_detail": "You need to subscribe to Claude Pro or a higher version to use this authentication method",
        "enter_auth_code": "Authorization code",
        "logout": "Log out",
        "logout_failed": "Logout failed, please try again",
        "logout_success": "Successfully logged out of Anthropic",
        "oauth": "Web OAuth",
        "oauth_disabled_warning": "Anthropic has temporarily suspended the use of Claude via OAuth. This authentication method is currently unavailable. Please use an API key for now.",
        "start_auth": "Start authorization",
        "submit_code": "Complete login"
      },
      "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 one or more keys"
          }
        },
        "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_no_valid": "API address is invalid",
      "api_host_preview": "Preview: {{url}}",
      "api_host_tooltip": "Override only when your provider requires a custom OpenAI-compatible endpoint.",
      "api_key": {
        "label": "API Key",
        "tip": "Use commas to separate multiple keys"
      },
      "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",
        "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",
      "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",
      "copilot": {
        "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",
        "headers_description": "Custom request headers (JSON format)",
        "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"
      },
      "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",
      "filter": {
        "agent": "Agent Supported",
        "all": "All Providers"
      },
      "filter_agent": "Filter Agent Supported Providers",
      "get_api_key": "Get API Key",
      "misc": "Other",
      "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",
        "button": "Login with {{provider}}",
        "cherryIn": {
          "description": "Login to CherryIN using OAuth 2.0",
          "logged_in": "Logged in via OAuth",
          "login_button": "Login with OAuth",
          "logout_button": "Logout",
          "title": "OAuth Login"
        },
        "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"
      },
      "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",
      "search": "Search Providers...",
      "search_placeholder": "Search model id or name",
      "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",
        "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"
        }
      }
    },
    "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",
      "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",
      "clear_shortcut": "Clear Shortcut",
      "clear_topic": "Clear Messages",
      "copy_last_message": "Copy Last Message",
      "edit_last_user_message": "Edit Last User Message",
      "enabled": "Enable",
      "exit_fullscreen": "Exit Fullscreen",
      "label": "Key",
      "mini_window": "Quick Assistant",
      "new_topic": "New Topic",
      "press_shortcut": "Press Shortcut",
      "rename_topic": "Rename Topic",
      "reset_defaults": "Reset Defaults",
      "reset_defaults_confirm": "Are you sure you want to reset all shortcuts?",
      "reset_to_default": "Reset to Default",
      "search_message": "Search Message",
      "search_message_in_chat": "Search Message in Current Chat",
      "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_new_context": "Clear Context",
      "toggle_show_assistants": "Toggle Assistants",
      "toggle_show_topics": "Toggle Topics",
      "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": {
      "ocr": {
        "common": {
          "langs": "Supported languages"
        },
        "error": {
          "not_system": "System OCR only supports Windows and MacOS"
        },
        "image": {
          "error": {
            "provider_not_found": "The provider does not exist"
          },
          "system": {
            "no_need_configure": "MacOS requires no configuration"
          },
          "title": "Image"
        },
        "image_provider": "OCR service provider",
        "paddleocr": {
          "aistudio_access_token": "Access token of AI Studio Community",
          "api_url": "API URL",
          "api_url_label": "Obtain Access Token and API URL"
        },
        "system": {
          "win": {
            "langs_tooltip": "Dependent on Windows to provide services, you need to download language packs in the system to support the relevant languages."
          }
        },
        "tesseract": {
          "langs_tooltip": "Read the documentation to learn which custom languages are supported"
        },
        "title": "OCR service"
      },
      "preprocess": {
        "paddleocr": {
          "aistudio_access_token": "Access token of AI Studio Community",
          "api_url": "API URL",
          "api_url_label": "Obtain Access Token and API URL",
          "paddleocr_url_label": "PaddleOCR Official Website"
        },
        "provider": "Document Processing Provider",
        "provider_placeholder": "Choose a document processing provider",
        "title": "Document Processing",
        "tooltip": "In Settings -> Tools, set a document processing service provider. Document processing can effectively improve the retrieval performance of complex format documents and scanned documents."
      },
      "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_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"
            }
          },
          "error": {
            "rag_failed": "RAG failed"
          },
          "info": {
            "dimensions_auto_success": "Dimensions auto-obtained successfully, dimensions: {{dimensions}}"
          },
          "method": {
            "cutoff": "Cutoff",
            "label": "Compression Method",
            "none": "None",
            "rag": "RAG"
          },
          "rag": {
            "document_count": {
              "label": "Document Chunks Count",
              "tooltip": "Expected number of document chunks to extract from each search result, the actual total number of extracted document chunks is this value multiplied by the number of search results."
            }
          },
          "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",
        "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",
        "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.",
        "search_with_time": "Search with dates included",
        "set_as_default": "Set as Default",
        "subscribe": "Blacklist Subscription",
        "subscribe_add": "Add Subscription",
        "subscribe_add_failed": "Failed to add feed source",
        "subscribe_add_success": "Subscription feed added successfully!",
        "subscribe_delete": "Delete",
        "subscribe_name": {
          "label": "Alternative name",
          "placeholder": "Alternative name used when the downloaded subscription feed has no name."
        },
        "subscribe_update": "Update",
        "subscribe_update_failed": "Subscription source update failed",
        "subscribe_update_success": "Subscription source updated successfully",
        "subscribe_url": "Subscription Url",
        "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"
    }
  },
  "title": {
    "apps": "Apps",
    "code": "Code",
    "files": "Files",
    "home": "Home",
    "knowledge": "Knowledge Base",
    "launchpad": "Launchpad",
    "mcp-servers": "MCP Servers",
    "memories": "Memories",
    "notes": "Notes",
    "openclaw": "OpenClaw",
    "paintings": "Paintings",
    "settings": "Settings",
    "store": "Assistant Library",
    "translate": "Translate"
  },
  "trace": {
    "backList": "Back To List",
    "edasSupport": "Powered by Alibaba Cloud EDAS",
    "endTime": "End Time",
    "inputs": "Inputs",
    "label": "Call Chain",
    "name": "Node Name",
    "noTraceList": "No trace information found",
    "outputs": "Outputs",
    "parentId": "Parent Id",
    "spanDetail": "Span Details",
    "spendTime": "Spend Time",
    "startTime": "Start Time",
    "tag": "Tag",
    "tokenUsage": "Token Usage",
    "traceWindow": "Call Chain Window"
  },
  "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": {
          "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": {
      "chat_qwen_mt": "Qwen MT model cannot be used in chat. Please go to the translation page.",
      "detect": {
        "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",
      "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",
        "too_large": "File too large",
        "unknown": "Failed to read file content"
      },
      "reading": "Reading file content..."
    },
    "history": {
      "clear": "Clear History",
      "clear_description": "Clear history will delete all translation history, continue?",
      "delete": "Delete translation history",
      "empty": "No translation history",
      "error": {
        "delete": "Deletion failed",
        "save": "Failed to save translation history"
      },
      "search": {
        "placeholder": "Search translation history"
      },
      "title": "Translation History"
    },
    "info": {
      "aborted": "Translation aborted"
    },
    "input": {
      "placeholder": "Text, text files, or images (with OCR support) can be pasted or dragged in"
    },
    "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",
      "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"
    },
    "stop": "Stop Translation",
    "success": {
      "custom": {
        "delete": "Deleted successfully",
        "update": "Update successful"
      }
    },
    "target_language": "Target Language",
    "title": "Translation",
    "tooltip": {
      "newline": "Newline"
    }
  },
  "tray": {
    "quit": "Quit",
    "show_mini_window": "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"
  }
}
