{
"agent.add.error.failed": "Failed to add an agent",
"agent.add.title": "Add Agent",
"agent.archive.related_resources": "Linked channels will disconnect; scheduled tasks are paused. Settings, subscriptions, and run history are kept. Missed tasks won't run automatically after restoring the agent.",
"agent.askUserQuestion.answered": "answered",
"agent.askUserQuestion.close": "Close",
"agent.askUserQuestion.customPlaceholder": "Enter your answer...",
"agent.askUserQuestion.next": "Next",
"agent.askUserQuestion.previous": "Previous",
"agent.askUserQuestion.progress": "{{current}} of {{total}}",
"agent.askUserQuestion.skip": "Skip",
"agent.askUserQuestion.submit": "Submit",
"agent.askUserQuestion.title": "Questions from Agent",
"agent.builtin.cherry_assistant.description": "Built-in Cherry Studio advisor. Diagnose issues, guide operations, collect FAQs, submit bugs/feature requests, and search/create Skills",
"agent.builtin.cherry_doctor.description": "Built-in System Doctor analyst. Reads the diagnostic report and runtime state, explains the root cause, and proposes bounded fixes",
"agent.builtin.cherry_support.description": "Official Cherry Studio support Agent for setup guidance, troubleshooting, FAQs, and feedback",
"agent.builtin.cherry_support.diagnostics.prepared": "Cherry Support prepared an editable description. Review it before choosing diagnostic data and submitting.",
"agent.builtin.cherry_support.diagnostics.review": "Review problem report",
"agent.channels.add": "Add",
"agent.channels.bindAgent": "Bind Agent",
"agent.channels.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.",
"agent.channels.comingSoon": "Coming soon",
"agent.channels.connected": "Connected",
"agent.channels.createError": "Failed to create channel",
"agent.channels.deleteConfirm": "Delete channel \"{{name}}\"?",
"agent.channels.deleteError": "Failed to delete channel",
"agent.channels.dingtalk.allowlistHint": "Separate IDs with commas. Chats: dm:staffId or group:conversationId. Users: staff IDs. Empty lists allow everyone; when both are set, both must match. Use /whoami to get IDs.",
"agent.channels.dingtalk.cardHint": "Optional: publish an AI card template with msgContent and flowStatus fields and grant card instance permissions. Leave blank for text replies.",
"agent.channels.dingtalk.cardTemplateId": "AI card template ID (optional)",
"agent.channels.dingtalk.chatIds": "Allowed chat IDs",
"agent.channels.dingtalk.clientId": "Client ID (AppKey)",
"agent.channels.dingtalk.clientSecret": "Client Secret (AppSecret)",
"agent.channels.dingtalk.description": "Connect an internal app robot via Stream mode.",
"agent.channels.dingtalk.privacyHint": "Group members share the conversation and can see bot replies. Cherry Studio must remain running to receive messages.",
"agent.channels.dingtalk.robotCode": "Robot Code",
"agent.channels.dingtalk.setupHint": "Create an internal DingTalk app robot and enable Stream mode. Enable robot message sending and file permissions.",
"agent.channels.dingtalk.title": "DingTalk",
"agent.channels.dingtalk.userIds": "Allowed user IDs",
"agent.channels.discord.botToken": "Bot Token",
"agent.channels.discord.botTokenPlaceholder": "Enter your Discord bot token",
"agent.channels.discord.channelIds": "Allowed Channel IDs",
"agent.channels.discord.channelIdsHint": "Format: channel:id or dm:id. Leave empty to allow all.",
"agent.channels.discord.channelIdsPlaceholder": "channel:123456789, dm:987654321",
"agent.channels.discord.description": "Receive and respond to messages via a Discord bot using WebSocket gateway.",
"agent.channels.discord.title": "Discord",
"agent.channels.discord.whoamiTip": "💡 Tip: Send /whoami to the bot to get your channel ID in the correct format.",
"agent.channels.error": "Error",
"agent.channels.feishu.appId": "App ID",
"agent.channels.feishu.appIdPlaceholder": "Enter your Feishu app ID",
"agent.channels.feishu.appSecret": "App Secret",
"agent.channels.feishu.appSecretPlaceholder": "Enter your Feishu app secret",
"agent.channels.feishu.chatIds": "Allowed Chat IDs",
"agent.channels.feishu.chatIdsHint": "Comma-separated chat IDs. Leave empty to allow all chats.",
"agent.channels.feishu.chatIdsPlaceholder": "oc_xxxxx, oc_yyyyy",
"agent.channels.feishu.connected": "Connected",
"agent.channels.feishu.description": "Receive and respond to messages via a Feishu/Lark bot using WebSocket.",
"agent.channels.feishu.domain": "Domain",
"agent.channels.feishu.domainFeishu": "Feishu (China)",
"agent.channels.feishu.domainLark": "Lark (International)",
"agent.channels.feishu.encryptKey": "Encrypt Key",
"agent.channels.feishu.encryptKeyPlaceholder": "Enter the Encrypt Key from your Feishu app",
"agent.channels.feishu.loginHint": "No credentials configured. Enable the channel to start QR code registration, or enter App ID and App Secret manually.",
"agent.channels.feishu.qrExpired": "QR code expired. Please retry by toggling the channel.",
"agent.channels.feishu.qrHint": "Waiting for QR code scan...",
"agent.channels.feishu.qrScanHint": "Open Feishu on your phone and scan the QR code to create a bot app.",
"agent.channels.feishu.qrTitle": "Feishu QR Registration",
"agent.channels.feishu.title": "Feishu",
"agent.channels.feishu.verificationToken": "Verification Token",
"agent.channels.feishu.verificationTokenPlaceholder": "Enter the Verification Token from your Feishu app",
"agent.channels.logs": "Logs",
"agent.channels.noInstances": "No {{type}} channels configured. Click \"+ Add\" to create one.",
"agent.channels.noLogs": "No logs yet",
"agent.channels.qq.appId": "App ID",
"agent.channels.qq.appIdPlaceholder": "Enter your QQ Bot App ID",
"agent.channels.qq.chatIds": "Allowed Chat IDs",
"agent.channels.qq.chatIdsHint": "Format: c2c:openid, group:groupid, channel:channelid. Leave empty to allow all.",
"agent.channels.qq.chatIdsPlaceholder": "c2c:abc123, group:xyz789",
"agent.channels.qq.clientSecret": "Client Secret",
"agent.channels.qq.clientSecretPlaceholder": "Enter your QQ Bot client secret",
"agent.channels.qq.description": "Receive and respond to messages via QQ Bot official API.",
"agent.channels.qq.mentionOnlyHint": "When on, the bot only replies to @mentions. Turn off to receive all group messages (requires \"receive all messages\" permission on QQ Open Platform).",
"agent.channels.qq.mentionOnlyLabel": "@Mention only",
"agent.channels.qq.title": "QQ",
"agent.channels.qq.whoamiTip": "💡 Tip: Send /whoami to the bot to get your chat ID in the correct format.",
"agent.channels.qrSetup.cancelled": "Setup cancelled. No credentials were changed.",
"agent.channels.qrSetup.confirmed": "Credentials saved. Bind an Agent and enable the channel to connect.",
"agent.channels.qrSetup.error": "Could not complete setup. Try again or enter credentials manually.",
"agent.channels.qrSetup.expired": "The QR code expired. Try again.",
"agent.channels.qrSetup.hint": "Scan to create or authorize a bot. Credentials are saved automatically; then bind an Agent and enable the channel. Disable an active channel before reconnecting. You can also enter credentials manually.",
"agent.channels.qrSetup.pending": "Scan with the channel’s mobile app and confirm authorization.",
"agent.channels.qrSetup.start": "Connect with QR code",
"agent.channels.security.inheritFromAgent": "Inherit from agent",
"agent.channels.security.permissionMode": "Channel Permission Mode",
"agent.channels.selectAgent": "Select an agent to bind",
"agent.channels.slack.appToken": "App-Level Token",
"agent.channels.slack.appTokenPlaceholder": "xapp-...",
"agent.channels.slack.botToken": "Bot Token",
"agent.channels.slack.botTokenPlaceholder": "xoxb-...",
"agent.channels.slack.channelIds": "Allowed Channel IDs",
"agent.channels.slack.channelIdsHint": "Slack channel IDs. Leave empty to allow all.",
"agent.channels.slack.channelIdsPlaceholder": "C01234567, D89012345",
"agent.channels.slack.description": "Receive and respond to messages via a Slack bot using Socket Mode.",
"agent.channels.slack.title": "Slack",
"agent.channels.slack.whoamiTip": "💡 Tip: Send /whoami to the bot to get the channel ID.",
"agent.channels.telegram.botToken": "Bot Token",
"agent.channels.telegram.botTokenPlaceholder": "Enter your Telegram bot token",
"agent.channels.telegram.chatIds": "Allowed Chat IDs",
"agent.channels.telegram.chatIdsHint": "Comma-separated. Leave empty to allow all chats.",
"agent.channels.telegram.chatIdsPlaceholder": "123456789, 987654321",
"agent.channels.telegram.description": "Receive and respond to messages via a Telegram bot using long polling.",
"agent.channels.telegram.title": "Telegram",
"agent.channels.updateError": "Failed to update channel",
"agent.channels.wechat.connected": "Logged in",
"agent.channels.wechat.description": "Receive and respond to messages via WeChat using the iLink Bot API.",
"agent.channels.wechat.disconnected": "Not logged in",
"agent.channels.wechat.loginHint": "First login requires scanning a QR code. A QR code will appear automatically when the channel connects.",
"agent.channels.wechat.qrExpired": "QR code expired. Please retry by toggling the channel.",
"agent.channels.wechat.qrHint": "Open WeChat on your phone, scan the QR code to log in.",
"agent.channels.wechat.qrTitle": "WeChat QR Login",
"agent.channels.wechat.title": "WeChat",
"agent.channels.wecom.allowlistHint": "Separate IDs with commas. Chats use dm:USERID or group:CHATID; /whoami shows your IDs. Both lists must match when set; an empty list allows all. Agent permissions still apply.",
"agent.channels.wecom.botId": "Bot ID",
"agent.channels.wecom.chatIds": "Allowed chat IDs",
"agent.channels.wecom.description": "Connect a WeCom AI bot",
"agent.channels.wecom.privacyHint": "Group members share the conversation and can see bot replies. Cherry Studio must remain running to receive messages.",
"agent.channels.wecom.secret": "Secret",
"agent.channels.wecom.setupHint": "Create an AI bot in WeCom developer mode, enable the persistent connection, then enter its Bot ID and Secret.",
"agent.channels.wecom.title": "WeCom",
"agent.channels.wecom.userIds": "Allowed user IDs",
"agent.composer.background_running_one": "{{count}} background task running",
"agent.composer.background_running_other": "{{count}} background tasks running",
"agent.delete.content": "Deleting the agent will forcibly stop and delete all sessions associated with the agent. Are you sure?",
"agent.delete.error.failed": "Failed to delete the agent",
"agent.delete.title": "Delete Agent",
"agent.edit.title": "Edit Agent",
"agent.edit_resend.error.attachment_unavailable": "An attachment cannot be read. Remove it or attach it again.",
"agent.edit_resend.error.busy": "The session is still busy. Wait for the current work to finish, then try again.",
"agent.edit_resend.error.checkpoint_unsupported": "This checkpoint was created by an older version or cannot be restored by the current one, so editing and resending from this point is not supported. The conversation itself is unaffected and can continue.",
"agent.edit_resend.error.close_failed": "The old runtime has not exited safely. The original conversation was kept.",
"agent.edit_resend.error.history_changed": "The conversation changed. Cancel editing and open the editor again.",
"agent.edit_resend.error.input_unsupported": "This message contains a reference that cannot be restored for editing.",
"agent.edit_resend.error.invalid_target": "This message cannot be edited and resent.",
"agent.edit_resend.label": "Edit and resend",
"agent.edit_resend.save": "Save and resend",
"agent.edit_resend.warning": "Replaces this message and all following messages. File changes will not be undone.",
"agent.heartbeat.action_failed": "Could not save or start the heartbeat. Check the logs and try again.",
"agent.heartbeat.conflict": "The tasks changed outside this editor. Copy your edits before reloading.",
"agent.heartbeat.description": "The agent checks these tasks at each heartbeat. Each non-empty run uses your selected model.",
"agent.heartbeat.edit": "Edit heartbeat tasks",
"agent.heartbeat.empty": "No tasks configured. Heartbeat runs will be skipped.",
"agent.heartbeat.enable_first": "Enable heartbeat in the agent settings to run these tasks.",
"agent.heartbeat.load_failed": "Could not load heartbeat tasks.",
"agent.heartbeat.paused": "Heartbeat is paused or unavailable. Turn it off and on in the agent settings to retry.",
"agent.heartbeat.placeholder": "Describe what the agent should check or do periodically…",
"agent.heartbeat.reload": "Reload from file",
"agent.heartbeat.save_run": "Save and run once",
"agent.heartbeat.saved_next_run": "Save your changes to apply them to the next run.",
"agent.heartbeat.tasks": "Heartbeat tasks",
"agent.home.welcome_title": "What should we work on today?",
"agent.icon.type": "Agent Icon",
"agent.input.placeholder": "Type a message. Type / to search paths or commands, @ for files and sessions.",
"agent.input.placeholder_streaming": "Agent is working — {{sendKey}} queues a follow-up, {{steerKey}} steers it now.",
"agent.manage.title": "Manage Agents",
"agent.pin.title": "Pin Agent",
"agent.preview_pane.close": "Close preview",
"agent.preview_pane.code": "Code",
"agent.preview_pane.copy_content": "Copy Content",
"agent.preview_pane.copy_path": "Copy Path",
"agent.preview_pane.copy_relative_path": "Copy Relative Path",
"agent.preview_pane.default_app": "Default app",
"agent.preview_pane.edit.conflict.description": "This file changed on disk after editing started. Reloading will discard the current draft and load the latest file.",
"agent.preview_pane.edit.conflict.keep_draft": "Keep draft",
"agent.preview_pane.edit.conflict.reload": "Reload file",
"agent.preview_pane.edit.conflict.title": "File changed on disk",
"agent.preview_pane.edit.discard": "Discard changes",
"agent.preview_pane.edit.leave.description": "If you continue, your unsaved changes to this file will be lost.",
"agent.preview_pane.edit.leave.discard_and_continue": "Discard and continue",
"agent.preview_pane.edit.leave.title": "Discard unsaved changes?",
"agent.preview_pane.edit.metadata_pending": "The file was saved, but its metadata is still being recovered. Do not retry this save.",
"agent.preview_pane.edit.refresh_failed": "Unable to reload the latest file content.",
"agent.preview_pane.edit.save_failed": "Unable to save this file. Automatic saving is paused until you retry or discard the changes.",
"agent.preview_pane.edit.unsaved": "Unsaved",
"agent.preview_pane.edit.unsupported": "This file can be previewed but not safely edited here. Editing supports UTF-8 text files with consistent LF or CRLF line endings.",
"agent.preview_pane.empty.description": "Start chatting with the agent; generated code and live previews will appear here.",
"agent.preview_pane.empty.title": "Ready",
"agent.preview_pane.items_one": "{{count}} item",
"agent.preview_pane.items_other": "{{count}} items",
"agent.preview_pane.no_search_results": "No files match your search",
"agent.preview_pane.office.title": "Opening {{extension}} files here is not supported yet",
"agent.preview_pane.pick_selection": "Select region",
"agent.preview_pane.preview": "Preview",
"agent.preview_pane.quote_selection": "Quote selection",
"agent.preview_pane.refresh": "Refresh",
"agent.preview_pane.search_placeholder": "Search files...",
"agent.preview_pane.too_large.description": "File exceeds the {{limit}} preview limit.",
"agent.preview_pane.tree_error.invalid_path.description": "The file panel requires a valid absolute local path. Please select the work directory again.",
"agent.preview_pane.tree_error.invalid_path.title": "Invalid workspace path",
"agent.preview_pane.tree_error.load_error.description": "Make sure the work directory still exists and is accessible, then try again.",
"agent.preview_pane.tree_error.load_error.title": "Couldn't load workspace files",
"agent.right_pane.flow.child_subtasks": "Child subtasks",
"agent.right_pane.flow.main_task": "Main task",
"agent.right_pane.flow.no_messages.description": "This tool call has no captured child message flow.",
"agent.right_pane.flow.no_messages.title": "No messages",
"agent.right_pane.flow.subtasks": "Subtasks",
"agent.right_pane.info.artifacts": "Outputs",
"agent.right_pane.info.context_categories.autocompact_buffer": "Autocompact buffer",
"agent.right_pane.info.context_categories.custom_agents": "Custom agents",
"agent.right_pane.info.context_categories.free_space": "Free space",
"agent.right_pane.info.context_categories.mcp_tools": "MCP tools",
"agent.right_pane.info.context_categories.memory_files": "Memory files",
"agent.right_pane.info.context_categories.messages": "Messages",
"agent.right_pane.info.context_categories.plugins": "Plugins",
"agent.right_pane.info.context_categories.skills": "Skills",
"agent.right_pane.info.context_categories.system_prompt": "System prompt",
"agent.right_pane.info.context_categories.system_tools": "System tools",
"agent.right_pane.info.context_usage": "Context usage",
"agent.right_pane.info.shell_tasks": "Background commands",
"agent.right_pane.info.subagents": "Sub-agents",
"agent.right_pane.info.workflows": "Workflows",
"agent.right_pane.status.stop_run_task": "Stop task",
"agent.right_pane.status.stop_run_task_failed": "Failed to stop task",
"agent.right_pane.status.task_count": "{{completed}} / {{total}} complete",
"agent.right_pane.status.task_progress_compact": "Step {{current}}/{{total}}",
"agent.right_pane.status.tasks_completed": "{{count}} completed",
"agent.right_pane.status.tool_uses_one": "{{count}} tool call",
"agent.right_pane.status.tool_uses_other": "{{count}} tool calls",
"agent.right_pane.tabs.browser": "Browser",
"agent.right_pane.tabs.files": "Files",
"agent.right_pane.tabs.status": "Status",
"agent.runtime_download.downloading": "Downloading runtime…",
"agent.runtime_download.errors.installation": "Runtime installation failed. Please retry.",
"agent.runtime_download.errors.integrity": "Download verification failed. Please retry.",
"agent.runtime_download.errors.network": "Download failed. Check your connection and retry.",
"agent.runtime_download.errors.storage": "Unable to save the runtime. Check disk space and permissions, then retry.",
"agent.runtime_download.errors.unsupported": "{{runtime}} is not supported on this platform.",
"agent.runtime_download.installing": "Verifying and installing runtime…",
"agent.runtime_download.preparing": "Checking the required runtime…",
"agent.runtime_download.title": "Preparing {{runtime}}",
"agent.session.add.title": "Add a session",
"agent.session.agent.delete.content": "Delete all sessions associated with this Agent. The Agent itself will not be deleted.",
"agent.session.agent.delete.title": "Delete all sessions",
"agent.session.agent.delete.trigger": "Delete all sessions",
"agent.session.api_retry.reason": "Request failed ({{error}}, HTTP {{status}}) — retrying",
"agent.session.api_retry.retrying": "Retrying {{attempt}}/{{max}}…",
"agent.session.api_retry.retrying_in": "Retrying {{attempt}}/{{max}} in {{seconds}}s",
"agent.session.auto_rename": "Generate task name",
"agent.session.create.error.failed": "Failed to add a session",
"agent.session.delete.content": "Are you sure to delete this session?",
"agent.session.delete.error.failed": "Failed to delete the session",
"agent.session.delete.title": "Delete session",
"agent.session.display.agent": "Agent",
"agent.session.display.time": "Time",
"agent.session.display.title": "Display mode",
"agent.session.display.workdir": "Work directory",
"agent.session.edit.title": "Edit task name",
"agent.session.empty.description": "Tasks will appear here after you start one.",
"agent.session.empty.title": "No tasks",
"agent.session.file_manager.file_explorer": "File Explorer",
"agent.session.file_manager.files": "Files",
"agent.session.file_manager.finder": "Finder",
"agent.session.get.error.failed": "Failed to get the session",
"agent.session.group.collapse": "Collapse",
"agent.session.group.collapse_all": "Collapse all",
"agent.session.group.conversation": "Conversations",
"agent.session.group.earlier": "Earlier",
"agent.session.group.expand_all": "Expand all",
"agent.session.group.no_workdir": "No work directory",
"agent.session.group.show_more": "Show more",
"agent.session.group.tasks": "Tasks",
"agent.session.group.this_week": "This week",
"agent.session.group.today": "Today",
"agent.session.group.unknown_agent": "Unlinked Agent",
"agent.session.group.unknown_agent_tip": "This is a historical session group without an agent, not an actual agent. Select an active agent to continue this session.",
"agent.session.group.yesterday": "Yesterday",
"agent.session.hover.last_activity": "Last activity: {{time}}",
"agent.session.list.title": "Tasks",
"agent.session.model_switch_confirm.confirm": "Switch model",
"agent.session.model_switch_confirm.description": "Different models may understand and process context differently. Switching may affect the continuity or quality of subsequent responses. Do you want to continue?",
"agent.session.model_switch_confirm.skip_for_app_run": "Don't ask again until I quit the app",
"agent.session.model_switch_confirm.title": "Switch to \"{{model}}\"?",
"agent.session.new": "New task",
"agent.session.pin.title": "Pin task",
"agent.session.reorder.error.failed": "Failed to reorder sessions",
"agent.session.search.placeholder": "Search tasks",
"agent.session.search.title": "Search tasks",
"agent.session.unpin.title": "Unpin task",
"agent.session.update.error.failed": "Failed to update the session",
"agent.session.workdir.delete.channels_count_one": "{{count}} channel",
"agent.session.workdir.delete.channels_count_other": "{{count}} channels",
"agent.session.workdir.delete.channels_empty": "No channels will be changed.",
"agent.session.workdir.delete.channels_title": "Channels changed to no work directory",
"agent.session.workdir.delete.content": "Deleting this work directory will also delete all tasks under it. Only database records are removed; the actual folder on disk will not be deleted.",
"agent.session.workdir.delete.disk_preserved": "The folder on disk and its files will not be deleted.",
"agent.session.workdir.delete.error.failed": "Failed to delete the work directory",
"agent.session.workdir.delete.more_count_one": "…and {{count}} more item",
"agent.session.workdir.delete.more_count_other": "…and {{count}} more items",
"agent.session.workdir.delete.preview": "Deleting “{{name}}” removes its sessions and changes related channels and scheduled tasks to no work directory. This action cannot be undone.",
"agent.session.workdir.delete.preview_failed": "The deletion impact could not be loaded, so this work directory cannot be deleted yet",
"agent.session.workdir.delete.preview_loading": "Loading deletion impact…",
"agent.session.workdir.delete.sessions_count_one": "{{count}} session",
"agent.session.workdir.delete.sessions_count_other": "{{count}} sessions",
"agent.session.workdir.delete.sessions_empty": "No sessions will be deleted.",
"agent.session.workdir.delete.sessions_title": "Sessions to be deleted",
"agent.session.workdir.delete.tasks_count_one": "{{count}} scheduled task",
"agent.session.workdir.delete.tasks_count_other": "{{count}} scheduled tasks",
"agent.session.workdir.delete.tasks_empty": "No scheduled tasks will be changed.",
"agent.session.workdir.delete.tasks_title": "Scheduled tasks changed to no work directory",
"agent.session.workdir.delete.title": "Delete work directory",
"agent.session.workdir.delete.trigger": "Delete work directory",
"agent.session.workdir.rename.error.failed": "Failed to rename the work directory",
"agent.session.workdir.rename.title": "Rename work directory",
"agent.session.workdir.rename.trigger": "Rename work directory",
"agent.session.workspace_selector.create_failed": "Failed to add work directory.",
"agent.session.workspace_selector.create_new": "Add new work directory",
"agent.session.workspace_selector.empty_text": "No work directories",
"agent.session.workspace_selector.no_project": "No work directory",
"agent.session.workspace_selector.placeholder": "Select work directory",
"agent.session.workspace_selector.search_placeholder": "Search work directories",
"agent.session.workspace_selector.select_failed": "Failed to select folder.",
"agent.session.workspace_status.inaccessible": "Workspace path is not accessible: {{path}}",
"agent.session_delivery.from": "From {{agent}} / {{session}}",
"agent.session_delivery.status.accepted": "Accepted",
"agent.session_delivery.status.consumed": "Consumed",
"agent.session_delivery.status.delivering": "Delivering",
"agent.session_delivery.status.failed": "Failed",
"agent.session_turn_origin.background_work": "Continued after background work",
"agent.session_turn_origin.goal_round": "Goal round {{round}}",
"agent.settings.permissionMode.title": "Permission Mode",
"agent.settings.skills.addMore": "Manage Skills",
"agent.settings.tooling.mcp.toggle": "Toggle {{name}}",
"agent.settings.tooling.permissionMode.acceptEdits.description": "Edits files freely. Asks before commands.",
"agent.settings.tooling.permissionMode.acceptEdits.title": "Auto-accept Edits",
"agent.settings.tooling.permissionMode.auto.description": "Runs without routine prompts. A safety check blocks risky actions.",
"agent.settings.tooling.permissionMode.auto.description_pi": "Works on its own. Asks when it recognizes a risky action.",
"agent.settings.tooling.permissionMode.auto.title": "Approve for Me",
"agent.settings.tooling.permissionMode.auto.warning": "Needs a model that supports it; others may ignore it or keep asking.",
"agent.settings.tooling.permissionMode.auto.warning_pi": "Recognition is best-effort; an unusual command can still slip through.",
"agent.settings.tooling.permissionMode.bypassPermissions.description": "Skips permission checks. Can delete files and use the network.",
"agent.settings.tooling.permissionMode.bypassPermissions.title": "Full Access",
"agent.settings.tooling.permissionMode.bypassPermissions.warning": "Use with caution — most tools run without approval; explicit safety blocks still apply.",
"agent.settings.tooling.permissionMode.default.description": "Asks before editing files or running commands.",
"agent.settings.tooling.permissionMode.default.title": "Ask Before Acting",
"agent.settings.tooling.permissionMode.plan.description": "Plans without editing files. Only read-only or vetted commands run.",
"agent.settings.tooling.permissionMode.plan.title": "Plan Only",
"agent.settings.tooling.preapproved.autoBadge": "Added by mode",
"agent.settings.tooling.preapproved.autoDisabledTooltip": "Auto-approved by \"{{mode}}\" and cannot be disabled.",
"agent.settings.toolsMcp.mcp.tab": "MCP",
"agent.sidebar_title": "Agents",
"agent.speed.effort": "Effort",
"agent.speed.fast": "Fast",
"agent.speed.faster": "Faster",
"agent.speed.label": "Speed",
"agent.speed.service_tier.auto": "Auto",
"agent.speed.service_tier.fast": "Fast",
"agent.speed.service_tier.flex": "Flex",
"agent.speed.service_tier.label": "Service tier",
"agent.speed.service_tier.standard": "Standard",
"agent.speed.smarter": "Smarter",
"agent.speed.summary.auto": "Auto",
"agent.speed.summary.concise": "Concise",
"agent.speed.summary.detailed": "Detailed",
"agent.speed.summary.label": "Thinking summary",
"agent.speed.title": "Response settings",
"agent.tasks.cancel": "Cancel",
"agent.tasks.channels.label": "Send to Channels",
"agent.tasks.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.",
"agent.tasks.channels.placeholder": "Select channels to receive results",
"agent.tasks.delete.confirm": "Are you sure you want to delete this task?",
"agent.tasks.delete.label": "Delete",
"agent.tasks.error.createFailed": "Failed to create task",
"agent.tasks.error.deleteFailed": "Failed to delete task",
"agent.tasks.error.loadFailed": "Failed to load tasks",
"agent.tasks.error.runFailed": "Failed to run task",
"agent.tasks.error.triggerInvalid": "Invalid schedule: check the expression, time zone, or interval range",
"agent.tasks.error.updateFailed": "Failed to update task",
"agent.tasks.frequency.label": "Execution Frequency",
"agent.tasks.intervalPlaceholder": "At least 1",
"agent.tasks.intervalUnit": "minutes",
"agent.tasks.lastRun": "Last Run",
"agent.tasks.logs.cancelled": "Cancelled",
"agent.tasks.logs.completed": "Completed",
"agent.tasks.logs.duration": "Duration",
"agent.tasks.logs.empty": "No run history yet.",
"agent.tasks.logs.failed": "Failed",
"agent.tasks.logs.label": "Run History",
"agent.tasks.logs.loadError": "Failed to load run history",
"agent.tasks.logs.result": "Result",
"agent.tasks.logs.runAt": "Run At",
"agent.tasks.logs.running": "Running...",
"agent.tasks.logs.search": "Search logs...",
"agent.tasks.logs.status": "Status",
"agent.tasks.logs.viewSession": "View session",
"agent.tasks.name.label": "Name",
"agent.tasks.name.placeholder": "e.g. Daily code review",
"agent.tasks.nextRun": "Next Run",
"agent.tasks.oncePlaceholder": "Select date and time",
"agent.tasks.pause": "Pause",
"agent.tasks.prompt.label": "Prompt",
"agent.tasks.prompt.placeholder": "What should the agent do when this task runs?",
"agent.tasks.resume": "Resume",
"agent.tasks.reuseSession.bound": "View session",
"agent.tasks.reuseSession.description": "Continue every run in the same session instead of starting a new one.",
"agent.tasks.reuseSession.label": "Reuse session",
"agent.tasks.reuseSession.pending": "Waiting for the first run",
"agent.tasks.reuseSession.warning": "A reused session keeps accumulating context, which raises token cost over time and can overflow the model's context window. To rebind a clean session, disable and save, then enable and save.",
"agent.tasks.run": "Run",
"agent.tasks.runSummary.cancelled": "Last run cancelled · {{time}}",
"agent.tasks.runSummary.completed": "Last run succeeded · {{time}}",
"agent.tasks.runSummary.failed": "Last run failed · {{time}}",
"agent.tasks.runSummary.queued": "Waiting to run",
"agent.tasks.runSummary.running": "Running",
"agent.tasks.runTriggered": "Task triggered",
"agent.tasks.save": "Save",
"agent.tasks.schedule.cron": "Cron expression",
"agent.tasks.schedule.cronPlaceholder": "For example, */20 8-12 * * *",
"agent.tasks.schedule.daily": "Daily",
"agent.tasks.schedule.hour": "Hour",
"agent.tasks.schedule.hourly": "Hourly",
"agent.tasks.schedule.hours": "Hours",
"agent.tasks.schedule.interval": "Custom interval",
"agent.tasks.schedule.intervalMinutes": "Interval",
"agent.tasks.schedule.invalid": "Enter a valid execution frequency.",
"agent.tasks.schedule.invalidCron": "Enter a valid Cron expression.",
"agent.tasks.schedule.minute": "Minute",
"agent.tasks.schedule.once": "One time",
"agent.tasks.schedule.summary.daily": "Daily at {{time}}",
"agent.tasks.schedule.summary.hourly": "At the start of every hour",
"agent.tasks.schedule.summary.interval": "Every {{count}} minutes",
"agent.tasks.schedule.summary.weekdays": "Weekdays at {{time}}",
"agent.tasks.schedule.summary.weekly": "Every {{weekday}} at {{time}}",
"agent.tasks.schedule.time": "Time",
"agent.tasks.schedule.weekday": "Day of week",
"agent.tasks.schedule.weekdays.friday": "Friday",
"agent.tasks.schedule.weekdays.monday": "Monday",
"agent.tasks.schedule.weekdays.saturday": "Saturday",
"agent.tasks.schedule.weekdays.sunday": "Sunday",
"agent.tasks.schedule.weekdays.thursday": "Thursday",
"agent.tasks.schedule.weekdays.tuesday": "Tuesday",
"agent.tasks.schedule.weekdays.wednesday": "Wednesday",
"agent.tasks.schedule.weekdaysOnly": "Weekdays",
"agent.tasks.schedule.weekly": "Weekly",
"agent.tasks.status.active": "Active",
"agent.tasks.status.completed": "Completed",
"agent.tasks.status.missed": "Missed",
"agent.tasks.status.paused": "Paused",
"agent.tasks.timeout.label": "Maximum Execution Time",
"agent.tasks.timeout.placeholder": "No limit",
"agent.toolPermission.button.allow": "Allow",
"agent.toolPermission.button.deny": "Deny",
"agent.toolPermission.button.run": "Run",
"agent.toolPermission.confirmation": "Are you sure you want to run this Claude tool?",
"agent.toolPermission.decisionDenied": "Denied",
"agent.toolPermission.error.sendFailed": "Failed to send your decision. Please try again.",
"agent.toolPermission.inputPreview": "Tool input preview",
"agent.toolPermission.pendingBadge": "Pending",
"agent.toolPermission.reasonLabel": "Reason for rejection (optional)",
"agent.toolPermission.reasonPlaceholder": "Tell the Agent what to do instead",
"agent.toolPermission.waiting": "Waiting for tool permission decision...",
"agent.tools.builtin.AgentMemory.description": "Stores and recalls cross-session memory",
"agent.tools.builtin.AgentMemory.label": "Memory",
"agent.tools.builtin.Bash.description": "Executes shell commands in your environment",
"agent.tools.builtin.Bash.label": "Bash",
"agent.tools.builtin.CherryConfig.description": "Inspects and manages this agent configuration and channels",
"agent.tools.builtin.CherryConfig.label": "Agent Config",
"agent.tools.builtin.CherryCron.description": "Manages the in-app scheduler",
"agent.tools.builtin.CherryCron.label": "Scheduler",
"agent.tools.builtin.CherryGenerateImage.description": "Generates an image from a text prompt using your configured painting model",
"agent.tools.builtin.CherryGenerateImage.label": "Generate Image",
"agent.tools.builtin.CherryKbManage.description": "Adds, deletes, or refreshes documents in your knowledge bases",
"agent.tools.builtin.CherryKbManage.label": "Manage Knowledge",
"agent.tools.builtin.CherryKbSearch.description": "Searches your knowledge bases",
"agent.tools.builtin.CherryKbSearch.label": "Knowledge Search",
"agent.tools.builtin.CherryNotify.description": "Sends a notification through a connected channel",
"agent.tools.builtin.CherryNotify.label": "Notify",
"agent.tools.builtin.CherryToMarkdown.description": "Markdown is easier for the agent to read",
"agent.tools.builtin.CherryToMarkdown.label": "File to Markdown",
"agent.tools.builtin.CherryWebFetch.description": "Fetches and reads a web page",
"agent.tools.builtin.CherryWebFetch.label": "Web Fetch",
"agent.tools.builtin.CherryWebSearch.description": "Searches the web via your configured provider",
"agent.tools.builtin.CherryWebSearch.label": "Web Search",
"agent.tools.builtin.Edit.description": "Makes targeted edits to specific files",
"agent.tools.builtin.Edit.label": "Edit",
"agent.tools.builtin.Glob.description": "Finds files based on pattern matching",
"agent.tools.builtin.Glob.label": "Glob",
"agent.tools.builtin.Grep.description": "Searches for patterns in file contents",
"agent.tools.builtin.Grep.label": "Grep",
"agent.tools.builtin.MultiEdit.description": "Performs multiple edits on a single file atomically",
"agent.tools.builtin.NotebookEdit.description": "Modifies Jupyter notebook cells",
"agent.tools.builtin.NotebookRead.description": "Reads and displays Jupyter notebook contents",
"agent.tools.builtin.Read.description": "Reads the contents of files",
"agent.tools.builtin.Read.label": "Read",
"agent.tools.builtin.Task.description": "Runs a sub-agent to handle complex, multi-step tasks",
"agent.tools.builtin.TodoWrite.description": "Creates and manages structured task lists",
"agent.tools.builtin.ToolSearch.description": "Discovers deferred tools from large libraries",
"agent.tools.builtin.WebFetch.description": "Fetches content from a specified URL",
"agent.tools.builtin.WebSearch.description": "Performs web searches with domain filtering",
"agent.tools.builtin.Workflow.description": "Runs a multi-step workflow that orchestrates subagents",
"agent.tools.builtin.Workflow.label": "Workflow",
"agent.tools.builtin.Write.description": "Creates or overwrites files",
"agent.tools.builtin.Write.label": "Write",
"agent.tools.builtin.bash.description": "Run shell commands",
"agent.tools.builtin.bash.label": "Run shell commands",
"agent.tools.builtin.codemode.description": "Execute JavaScript that orchestrates discovered tools",
"agent.tools.builtin.codemode.label": "Execute tool code",
"agent.tools.builtin.create_goal.description": "Create a session goal to work toward",
"agent.tools.builtin.create_goal.label": "Create goal",
"agent.tools.builtin.edit.description": "Edit files",
"agent.tools.builtin.edit.label": "Edit files",
"agent.tools.builtin.exit_plan_mode.description": "Present the plan for review and leave plan mode on approval",
"agent.tools.builtin.exit_plan_mode.label": "Exit plan mode",
"agent.tools.builtin.find.description": "Find files",
"agent.tools.builtin.find.label": "Find files",
"agent.tools.builtin.get_goal.description": "Read the current session goal",
"agent.tools.builtin.get_goal.label": "Read goal",
"agent.tools.builtin.grep.description": "Search file contents",
"agent.tools.builtin.grep.label": "Search file contents",
"agent.tools.builtin.interrupt_agent.description": "Stop a background subagent's current turn",
"agent.tools.builtin.interrupt_agent.label": "Interrupt subagent",
"agent.tools.builtin.list_agents.description": "List background subagents and their status",
"agent.tools.builtin.list_agents.label": "List subagents",
"agent.tools.builtin.ls.description": "List directory contents",
"agent.tools.builtin.ls.label": "List directory contents",
"agent.tools.builtin.read.description": "Read files",
"agent.tools.builtin.read.label": "Read files",
"agent.tools.builtin.read_image.description": "Read a PNG, JPEG, WebP, or GIF file with a vision-capable model",
"agent.tools.builtin.read_image.label": "Read image",
"agent.tools.builtin.send_message.description": "Send a follow-up message to a background subagent",
"agent.tools.builtin.send_message.label": "Message subagent",
"agent.tools.builtin.skill.description": "Load the full instructions of an enabled skill",
"agent.tools.builtin.skill.label": "Load skill instructions",
"agent.tools.builtin.subagent.description": "Delegate a task to a background subagent that can be messaged later",
"agent.tools.builtin.subagent.label": "Delegate to subagent",
"agent.tools.builtin.subagent_fork.description": "Delegate a follow-up task to a subagent seeded with this conversation",
"agent.tools.builtin.subagent_fork.label": "Fork subagent",
"agent.tools.builtin.todo_write.description": "Manage the task list",
"agent.tools.builtin.todo_write.label": "Manage the task list",
"agent.tools.builtin.tool_search.description": "Search available tools and read their TypeScript signatures",
"agent.tools.builtin.tool_search.label": "Search tools",
"agent.tools.builtin.update_goal.description": "Update the session goal status or objective",
"agent.tools.builtin.update_goal.label": "Update goal",
"agent.tools.builtin.vcc_recall.description": "Search the current session history after compaction",
"agent.tools.builtin.vcc_recall.label": "Recall session history",
"agent.tools.builtin.write.description": "Write files",
"agent.tools.builtin.write.label": "Write files",
"agent.unpin.title": "Unpin Agent",
"agent.update.error.failed": "Failed to update the agent",
"agent_session_fork.continue_in_source": "Continue in the original chat",
"agent_session_fork.history_changed": "The selected history has changed and can no longer be forked.",
"agent_session_fork.history_corrupt": "The original session history is damaged.",
"agent_session_fork.history_missing": "The original session history is missing.",
"agent_session_fork.label": "Fork",
"agent_session_fork.legacy_history": "No fork checkpoint was recorded for this historical message.",
"agent_session_fork.not_turn_boundary": "Only the final assistant message of a completed turn can be forked.",
"agent_session_fork.operation_failed": "Could not create the session fork. Check file permissions and free disk space, then retry.",
"agent_session_fork.source_not_found": "The original chat does not exist or has been deleted.",
"agent_session_fork.unsupported_checkpoint": "This checkpoint was created by an older version or cannot be restored by the current one, so forking from this point is not supported. The conversation itself is unaffected and can continue.",
"agent_session_fork.workspace_changed": "The workspace changed while copying. Retry the fork.",
"agent_session_fork.workspace_unsupported_file": "The workspace contains a link or special file that cannot be copied safely.",
"apiGateway.actions.regenerate": "Regenerate",
"apiGateway.actions.restart.button": "Restart",
"apiGateway.actions.restart.tooltip": "Restart Gateway",
"apiGateway.actions.start": "Start",
"apiGateway.actions.stop": "Stop",
"apiGateway.authHeader.title": "Authorization Header",
"apiGateway.description": "Expose Cherry Studio's AI capabilities through OpenAI- and Anthropic-compatible HTTP APIs",
"apiGateway.documentation.title": "API Documentation",
"apiGateway.fields.apiKey.copyTooltip": "Copy API Key",
"apiGateway.fields.apiKey.label": "API Key",
"apiGateway.fields.apiKey.placeholder": "API key will be auto-generated",
"apiGateway.fields.port.label": "Port",
"apiGateway.fields.url.copyTooltip": "Copy URL",
"apiGateway.fields.url.label": "URL",
"apiGateway.messages.apiKeyRegenerated": "API Key regenerated",
"apiGateway.messages.notEnabled": "Start the gateway before connecting to this address.",
"apiGateway.messages.portInvalid": "Enter a port between {{min}} and {{max}}.",
"apiGateway.messages.restartError": "Failed to restart API Gateway: ",
"apiGateway.messages.restartFailed": "API Gateway restart failed: ",
"apiGateway.messages.restartSuccess": "API Gateway restarted successfully",
"apiGateway.messages.startError": "Failed to start API Gateway: ",
"apiGateway.messages.startSuccess": "API Gateway started successfully",
"apiGateway.messages.stopError": "Failed to stop API Gateway: ",
"apiGateway.messages.stopSuccess": "API Gateway stopped successfully",
"apiGateway.status.running": "Running",
"apiGateway.status.stopped": "Stopped",
"apiGateway.title": "API Gateway",
"assistants.abbr": "Assistants",
"assistants.clear.menu_title": "Clear Topics",
"assistants.delete.content": "Deleting an assistant will delete all conversations and files under the assistant. Are you sure you want to delete it?",
"assistants.delete.title": "Delete Assistant",
"assistants.edit.title": "Edit Assistant",
"assistants.groups.delete": "Delete Group",
"assistants.groups.deleteConfirm": "Are you sure you want to delete this group?",
"assistants.groups.group_by": "Show in groups",
"assistants.groups.ungroup": "Stop grouping",
"assistants.groups.ungrouped": "Ungrouped",
"assistants.icon.type": "Assistant Icon",
"assistants.pin.title": "Pin Assistant",
"assistants.presets.add.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",
"assistants.presets.add.prompt.variables.tip.title": "Available variables",
"assistants.presets.export.agent": "Export Assistant",
"assistants.presets.import.action": "Import Assistant",
"assistants.presets.import.error.fetch_failed": "Failed to fetch from URL",
"assistants.presets.import.error.invalid_format": "Invalid assistant format: missing required fields",
"assistants.presets.import.file_filter": "JSON Files",
"assistants.presets.import.title": "Import from External",
"assistants.presets.manage.title": "Manage Assistants",
"assistants.presets.sorting.title": "Sorting",
"assistants.presets.title": "Assistants Library",
"assistants.reorder.error.failed": "Failed to reorder assistants",
"assistants.settings.reasoning_effort.auto": "Auto",
"assistants.settings.reasoning_effort.default": "Default",
"assistants.settings.reasoning_effort.high": "High",
"assistants.settings.reasoning_effort.label": "Reasoning effort",
"assistants.settings.reasoning_effort.low": "Low",
"assistants.settings.reasoning_effort.max": "Max",
"assistants.settings.reasoning_effort.medium": "Medium",
"assistants.settings.reasoning_effort.minimal": "Minimal",
"assistants.settings.reasoning_effort.off": "Off",
"assistants.settings.reasoning_effort.ultra": "Ultra",
"assistants.settings.reasoning_effort.xhigh": "Extra High",
"assistants.title": "Assistants",
"assistants.unpin.title": "Unpin Assistant",
"auth.get_key_success": "API key automatically obtained successfully",
"backup.confirm.button": "Select Backup Location",
"backup.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.",
"backup.error.active_data_writers": "A conversation or agent is still running. Wait for it to finish, then try again.",
"backup.error.background_tasks": "Background tasks (such as knowledge base indexing) did not finish within the waiting period. To protect data integrity, this backup or restore was stopped. Wait for the tasks to finish, then try again. If this keeps happening, check the task status and errors in the relevant feature.",
"backup.error.disk_full": "There is not enough disk space. Free up space and try again.",
"backup.error.disk_full_with_available": "There is not enough disk space ({{available}} available). Free up space and try again.",
"backup.error.newer_version": "This backup was created by a newer version of Cherry Studio and cannot be restored on this version. Please update Cherry Studio and try again.",
"backup.error.operation_busy": "Another backup or restore operation is already in progress. Wait for it to finish and try again.",
"backup.error.webdav_tls_certificate": "Could not verify the WebDAV server's TLS certificate. If the server uses a self-signed or private-CA certificate, enable 'Allow Self-Signed Certificates' in Settings → Data → WebDAV (this lowers transport security).",
"backup.progress.completed": "Backup completed",
"backup.progress.compressing": "Compressing files...",
"backup.progress.copying_database": "Copying database...",
"backup.progress.copying_files": "Copying files... {{progress}}%",
"backup.progress.preparing": "Preparing backup...",
"backup.progress.preparing_compression": "Preparing compression...",
"backup.progress.title": "Backup Progress",
"backup.progress.writing_data": "Writing data...",
"backup.title": "Data Backup",
"button.add": "Add",
"button.case_sensitive": "Case Sensitive",
"button.collapse": "Collapse",
"button.download": "Download",
"button.includes_user_questions": "Include Your Questions",
"button.select_assistant": "Select Assistant",
"button.select_model": "Select Model",
"button.update_available": "Update Available",
"button.whole_word": "Whole Word",
"chat.add.assistant.description": "Daily conversations and quick Q&A",
"chat.add.assistant.title": "Add Assistant",
"chat.add.topic.title": "New Conversation",
"chat.alerts.select_agent": "Select an agent",
"chat.artifacts.button.openExternal": "Open in external browser",
"chat.artifacts.button.preview": "Preview",
"chat.artifacts.preview.openExternal.error.content": "Error opening the external browser.",
"chat.assistant.search.placeholder": "Search",
"chat.compaction.compacted": "Context compacted, ~{{count}} tokens saved",
"chat.compaction.compacted_plain": "Context compacted",
"chat.compaction.compacting": "Compacting context…",
"chat.conversation.new": "New Chat",
"chat.default.name": "Cherry Assistant",
"chat.default.topic.name": "Default Conversation",
"chat.home.welcome_title": "What should we talk about today?",
"chat.input.ai_disclaimer": "AI-generated content, for reference only",
"chat.input.cancel_editing": "Cancel editing",
"chat.input.clear.content": "Do you want to clear all messages of the current conversation?",
"chat.input.clear.title": "Clear all messages?",
"chat.input.collapse": "Collapse",
"chat.input.dictation.action.cancel": "Cancel dictation",
"chat.input.dictation.action.copy_recovery": "Copy transcript",
"chat.input.dictation.action.start": "Start dictation",
"chat.input.dictation.title": "Dictate locally",
"chat.input.editing": "Editing",
"chat.input.editing_message": "Editing sent message",
"chat.input.editing_part.content": "Content block",
"chat.input.editing_part.reasoning": "Reasoning",
"chat.input.editing_part.tool": "Tool: {{name}}",
"chat.input.expand": "Expand",
"chat.input.file_error": "Error processing file",
"chat.input.file_not_supported": "Model does not support this file type",
"chat.input.file_not_supported_count": "{{count}} files are not supported",
"chat.input.followup_queue.edit": "Edit",
"chat.input.followup_queue.pause": "Pause auto-send",
"chat.input.followup_queue.remove": "Remove",
"chat.input.followup_queue.resume": "Resume auto-send",
"chat.input.followup_queue.steer": "steer",
"chat.input.followup_queue.title": "Queued ({{count}})",
"chat.input.generate_image": "Generate image",
"chat.input.generate_image_no_model": "Configure a painting model in Settings › Default Model",
"chat.input.image_preview_failed": "Image preview failed",
"chat.input.knowledge_base": "Knowledge Base",
"chat.input.knowledge_base_disabled_by_files": "Remove attached files to use Knowledge Base",
"chat.input.knowledge_base_manage": "Manage Knowledge Base",
"chat.input.knowledge_base_unavailable": "Select a tool-capable model",
"chat.input.locate_editing_message": "Locate original message",
"chat.input.mcp_prompts.description": "Insert a prompt published by an MCP server",
"chat.input.mcp_prompts.empty": "No MCP prompts available",
"chat.input.mcp_prompts.fill_arguments": "Fill prompt arguments",
"chat.input.mcp_prompts.fill_arguments_description": "Provide values for this prompt before inserting it",
"chat.input.mcp_prompts.insert": "Insert",
"chat.input.mcp_prompts.title": "MCP Prompts",
"chat.input.mcp_resources.description": "Reference a resource published by an MCP server",
"chat.input.mcp_resources.empty": "No MCP resources available",
"chat.input.mcp_resources.reader_unavailable": "The current model cannot read this resource back after it is attached",
"chat.input.mcp_resources.title": "MCP Resources",
"chat.input.new.context": "Clear Context",
"chat.input.note_reference.description": "Attach a note from Notes",
"chat.input.note_reference.empty": "No notes found",
"chat.input.note_reference.load_failed": "Failed to load notes",
"chat.input.note_reference.loading": "Loading notes...",
"chat.input.note_reference.manage": "Manage Notes",
"chat.input.note_reference.title": "Reference Note",
"chat.input.paste_text_file": "Paste into input",
"chat.input.pasted_text_file_name": "Pasted text.txt",
"chat.input.pause": "Pause",
"chat.input.placeholder": "Type a message. Type / for tools and actions, @ to reference topics.",
"chat.input.reference_panel.load_failed": "Failed to load the referenced conversation",
"chat.input.reference_panel.session.no_results.description": "No sessions match your search",
"chat.input.reference_panel.session.no_results.label": "No Sessions Found",
"chat.input.reference_panel.session.title": "Sessions",
"chat.input.reference_panel.topic.no_results.description": "No topics match your search",
"chat.input.reference_panel.topic.no_results.label": "No Topics Found",
"chat.input.reference_panel.topic.title": "Topics",
"chat.input.resize_height": "Resize input height",
"chat.input.resource_panel.categories.resources": "Files & Folders",
"chat.input.resource_panel.load_failed": "Failed to load workspace resources",
"chat.input.resource_panel.no_resources_found.description": "No searchable files or folders in the current workspace",
"chat.input.resource_panel.no_resources_found.label": "No Resources Found",
"chat.input.resource_panel.title": "Resources & Sessions",
"chat.input.restore": "Restore",
"chat.input.selection_reference.page": "p.{{page}}",
"chat.input.selection_reference.slide": "slide {{slide}}",
"chat.input.send": "Send",
"chat.input.send_failed": "Failed to send message",
"chat.input.slash_commands.commands.clear": "Start a new conversation with empty context",
"chat.input.slash_commands.commands.compact": "Free up context by summarizing the conversation so far",
"chat.input.slash_commands.commands.context": "Visualize current context usage as a colored grid",
"chat.input.slash_commands.commands.usage": "Show session cost, plan usage limits, and activity stats",
"chat.input.slash_commands.title": "Slash Commands",
"chat.input.toolbar.customize": "Customize toolbar",
"chat.input.toolbar.drag.cancelled": "Reordering cancelled for {{name}}.",
"chat.input.toolbar.drag.dropped": "{{name}} dropped.",
"chat.input.toolbar.drag.instructions": "To reorder, press Space or Enter to pick up a tool, use the arrow keys to move it, then Space or Enter to drop it, or Escape to cancel.",
"chat.input.toolbar.drag.over": "{{name}} moved over {{over}}.",
"chat.input.toolbar.drag.picked_up": "Picked up {{name}}.",
"chat.input.toolbar.drag_handle": "Drag to reorder {{name}}",
"chat.input.toolbar.restore_default": "Restore default",
"chat.input.tools.copy_file_content": "Copy File Contents",
"chat.input.tools.file_not_found": "File not found: {{path}}",
"chat.input.tools.generate_image.failed": "Image generation failed",
"chat.input.tools.generate_image.generating": "Generating image…",
"chat.input.tools.generate_image.title": "Generated image",
"chat.input.tools.open_file": "Open File",
"chat.input.tools.open_file_error": "Failed to open file: {{path}}",
"chat.input.tools.open_with": "Open with",
"chat.input.tools.reveal_in_file_explorer": "Show in File Explorer",
"chat.input.tools.reveal_in_file_manager": "Show in File Manager",
"chat.input.tools.reveal_in_finder": "Reveal in Finder",
"chat.input.translating": "Translating...",
"chat.input.upload.attachment": "Upload attachment",
"chat.input.upload.document_only": "Documents only",
"chat.input.upload.image_not_supported": "This model does not support image uploads. Documents only.",
"chat.input.web_search.builtin.disabled_content": "The current model does not support web search",
"chat.input.web_search.label": "Web Search",
"chat.input.web_search.route.builtin": "Searches with the model's built-in tool",
"chat.input.web_search.route.client": "Searches with {{provider}}",
"chat.input.web_search.route.client_fallback_active": "{{provider}} is unavailable, so the query is sent to {{fallbackProvider}}.",
"chat.input.web_search.route.client_with_fallback": "Searches with {{provider}}. If unavailable, the query is automatically sent to {{fallbackProvider}}.",
"chat.mcp.warning.gemini_web_search": "Gemini does not support using native web search tools and function calling simultaneously",
"chat.message.editing_current": "This message is being edited in the composer",
"chat.message.flow.branches": "branches",
"chat.message.flow.copy_topic.created": "Copied to a new conversation",
"chat.message.flow.copy_topic.label": "Copy as New Conversation",
"chat.message.flow.nodes": "nodes",
"chat.message.flow.status.awaiting_input": "Awaiting input",
"chat.message.flow.title": "Branch Management",
"chat.message.more": "More actions",
"chat.message.new.branch.created": "New Branch Created",
"chat.message.new.branch.label": "New Branch",
"chat.message.new.context": "New Context",
"chat.message.quote": "Quote",
"chat.message.read_aloud.label": "Read aloud",
"chat.message.token_details.cache_read": "Cache read",
"chat.message.token_details.cache_write": "Cache write",
"chat.message.token_details.cost": "Cost",
"chat.message.token_details.cost_billed": "Billed by provider",
"chat.message.token_details.cost_estimated": "Estimated",
"chat.message.token_details.end_to_end_throughput": "End-to-end throughput",
"chat.message.token_details.input": "Input",
"chat.message.token_details.input_breakdown": "Input breakdown",
"chat.message.token_details.lane_approval": "Approval",
"chat.message.token_details.lane_model": "Model",
"chat.message.token_details.lane_other": "Other",
"chat.message.token_details.lane_tool": "Tool",
"chat.message.token_details.less_details": "Less details",
"chat.message.token_details.model_throughput": "Model generation TPS",
"chat.message.token_details.more_details": "More details",
"chat.message.token_details.output": "Output",
"chat.message.token_details.reasoning": "Reasoning",
"chat.message.token_details.reasoning_time": "Reasoning",
"chat.message.token_details.request_duration": "Generation timing",
"chat.message.token_details.runtime_breakdown": "Runtime breakdown",
"chat.message.token_details.text_generation": "Text generation",
"chat.message.token_details.text_output": "Text output",
"chat.message.token_details.time_to_first_token": "Time to first token",
"chat.message.token_details.tokens": "{{value}} Tokens",
"chat.message.token_details.tokens_per_second_value": "{{value}} Tokens/s",
"chat.message.token_details.total_duration": "End-to-end duration",
"chat.message.token_details.unavailable": "—",
"chat.message.token_details.uncached": "Uncached",
"chat.message.token_details.usage": "Token usage",
"chat.message.token_details.waiting_first_token": "Waiting",
"chat.message.useful.label": "Set as context",
"chat.message.useful.tip": "In this group of messages, this message will be selected to join the context",
"chat.multiple.select.empty": "No Messages Selected",
"chat.multiple.select.label": "Multiple Select",
"chat.navigation.anchor.jump_to_turn": "Jump to turn {{number}}",
"chat.navigation.bottom": "Back to bottom",
"chat.navigation.close": "Close",
"chat.navigation.next": "Next Message",
"chat.navigation.prev": "Previous Message",
"chat.navigation.top": "Back to top",
"chat.save.file.title": "Save to Local File",
"chat.save.knowledge.content.citation.description": "Includes web search and knowledge base reference information",
"chat.save.knowledge.content.citation.title": "Citations",
"chat.save.knowledge.content.code.description": "Includes standalone code blocks",
"chat.save.knowledge.content.code.title": "Code Blocks",
"chat.save.knowledge.content.error.description": "Includes error messages during execution",
"chat.save.knowledge.content.error.title": "Errors",
"chat.save.knowledge.content.file.description": "Includes attached files",
"chat.save.knowledge.content.file.title": "Files",
"chat.save.knowledge.content.maintext.description": "Includes primary text content",
"chat.save.knowledge.content.maintext.title": "Main Text",
"chat.save.knowledge.content.thinking.description": "Includes model reasoning content",
"chat.save.knowledge.content.thinking.title": "Reasoning",
"chat.save.knowledge.content.tool_use.description": "Includes tool call parameters and execution results",
"chat.save.knowledge.content.tool_use.title": "Tool Usage",
"chat.save.knowledge.content.translation.description": "Includes translation content",
"chat.save.knowledge.content.translation.title": "Translations",
"chat.save.knowledge.empty.no_content": "This message has no saveable content",
"chat.save.knowledge.empty.no_knowledge_base": "No knowledge bases available, please create one first",
"chat.save.knowledge.error.file_partial_failed": "{{count}} file(s) could not be saved",
"chat.save.knowledge.error.invalid_base": "Selected knowledge base is not properly configured",
"chat.save.knowledge.error.no_content_selected": "Please select at least one content type",
"chat.save.knowledge.error.save_failed": "Save failed, please check knowledge base configuration",
"chat.save.knowledge.select.base.placeholder": "Please select a knowledge base",
"chat.save.knowledge.select.base.title": "Select Knowledge Base",
"chat.save.knowledge.select.content.tip": "Selected {{count}} items, text types will be merged and saved as one note",
"chat.save.knowledge.select.content.title": "Select content types to save",
"chat.save.knowledge.title": "Save to Knowledge Base",
"chat.save.label": "Save",
"chat.save.topic.knowledge.content.maintext.description": "Includes conversation title and main text content from all messages",
"chat.save.topic.knowledge.empty.no_content": "This conversation has no saveable content",
"chat.save.topic.knowledge.error.save_failed": "Failed to save conversation, please check knowledge base configuration",
"chat.save.topic.knowledge.loading": "Analyzing conversation content...",
"chat.save.topic.knowledge.menu_title": "Save to Knowledge Base",
"chat.save.topic.knowledge.select.content.label": "Select content types to save",
"chat.save.topic.knowledge.select.content.selected_tip": "Selected {{count}} items from {{messages}} messages",
"chat.save.topic.knowledge.source_fallback": "Conversation",
"chat.save.topic.knowledge.success": "Conversation successfully saved to knowledge base ({{count}} items)",
"chat.save.topic.knowledge.title": "Save Conversation to Knowledge Base",
"chat.settings.code.title": "Code Block Settings",
"chat.settings.code_collapsible": "Code block collapsible",
"chat.settings.code_editor.autocompletion": "Autocompletion",
"chat.settings.code_editor.fold_gutter": "Fold gutter",
"chat.settings.code_editor.highlight_active_line": "Highlight active line",
"chat.settings.code_editor.keymap": "Keymap",
"chat.settings.code_editor.title": "Code Editor",
"chat.settings.code_execution.timeout_minutes.label": "Timeout",
"chat.settings.code_execution.timeout_minutes.tip": "The timeout time (minutes) of code execution",
"chat.settings.code_execution.tip": "The run button will be displayed in the toolbar of executable code blocks, please do not execute dangerous code!",
"chat.settings.code_execution.title": "Code Execution",
"chat.settings.code_fancy_block.label": "Fancy code block",
"chat.settings.code_fancy_block.tip": "Enable fancy style for code block, e.g., html card",
"chat.settings.code_image_tools.label": "Enable preview tools",
"chat.settings.code_image_tools.tip": "Enable preview tools for images rendered from code blocks such as mermaid",
"chat.settings.code_wrappable": "Code block wrappable",
"chat.settings.show_line_numbers": "Show line numbers in code",
"chat.settings.thought_auto_collapse.label": "Collapse Thought Content",
"chat.settings.thought_auto_collapse.tip": "Automatically collapse thought content after thinking ends",
"chat.topics.auto_rename": "Generate conversation name",
"chat.topics.auto_rename_failed": "Failed to auto-generate conversation name",
"chat.topics.clear.title": "Clear Messages",
"chat.topics.copy.image": "Copy as image",
"chat.topics.copy.md": "Copy as markdown",
"chat.topics.copy.plain_text": "Copy as plain text (remove Markdown)",
"chat.topics.copy.title": "Copy",
"chat.topics.delete.shortcut": "Hold {{key}} to delete directly",
"chat.topics.display.assistant": "Assistant",
"chat.topics.display.time": "Time",
"chat.topics.display.title": "Display mode",
"chat.topics.draft": "Draft",
"chat.topics.edit.placeholder": "Enter new name",
"chat.topics.edit.title": "Edit conversation name",
"chat.topics.edit.title_tip": "Tips: Double-click the conversation name to rename it directly in place",
"chat.topics.empty.description": "Create a chat and it will stay here so you can continue with its context later.",
"chat.topics.empty.title": "No conversations",
"chat.topics.export.failed": "Export failed",
"chat.topics.export.image": "Export as image",
"chat.topics.export.image_exporting_keep_page": "Exporting image. Please stay on this page.",
"chat.topics.export.image_mode.cancel_hint": "Cancelling aborts this export",
"chat.topics.export.image_mode.count": "{{count}} image(s) will be exported",
"chat.topics.export.image_mode.embed": "Embed in file (default)",
"chat.topics.export.image_mode.folder": "Export as image folder",
"chat.topics.export.image_mode.none": "Without images",
"chat.topics.export.image_mode.skipped": "Skipped {{count}} image(s) (unavailable or unreadable)",
"chat.topics.export.image_mode.skipped_embed": "Skipped {{count}} image(s) (over 10 MiB or unreadable)",
"chat.topics.export.image_mode.title": "Export images",
"chat.topics.export.image_mode.write_failed": "Failed to write {{count}} image(s)",
"chat.topics.export.image_saved": "Image saved successfully",
"chat.topics.export.joplin": "Export to Joplin",
"chat.topics.export.md.label": "Export as Markdown",
"chat.topics.export.md.reason": "Export as Markdown (with reasoning)",
"chat.topics.export.notion": "Export to Notion",
"chat.topics.export.obsidian": "Export to Obsidian",
"chat.topics.export.obsidian_atributes": "Configure Note Attributes",
"chat.topics.export.obsidian_btn": "Confirm",
"chat.topics.export.obsidian_created": "Creation Time",
"chat.topics.export.obsidian_created_placeholder": "Please select the creation time",
"chat.topics.export.obsidian_export_failed": "Export failed",
"chat.topics.export.obsidian_export_success": "Export success",
"chat.topics.export.obsidian_fetch_error": "Failed to fetch Obsidian vaults",
"chat.topics.export.obsidian_fetch_folders_error": "Failed to fetch folder structure",
"chat.topics.export.obsidian_loading": "Loading...",
"chat.topics.export.obsidian_no_vault_selected": "Please select a vault first",
"chat.topics.export.obsidian_no_vaults": "No Obsidian vaults found",
"chat.topics.export.obsidian_operate": "Operation Method",
"chat.topics.export.obsidian_operate_append": "Append",
"chat.topics.export.obsidian_operate_new_or_overwrite": "Create New (Overwrite if it exists)",
"chat.topics.export.obsidian_operate_placeholder": "Please select the operation method",
"chat.topics.export.obsidian_operate_prepend": "Prepend",
"chat.topics.export.obsidian_path": "Path",
"chat.topics.export.obsidian_path_placeholder": "Please select the path",
"chat.topics.export.obsidian_reasoning": "Include Reasoning Chain",
"chat.topics.export.obsidian_root_directory": "Root Directory",
"chat.topics.export.obsidian_select_vault_first": "Please select a vault first",
"chat.topics.export.obsidian_source": "Source",
"chat.topics.export.obsidian_source_placeholder": "Please enter the source",
"chat.topics.export.obsidian_tags": "Tags",
"chat.topics.export.obsidian_tags_placeholder": "Please enter tags, separate multiple tags with commas",
"chat.topics.export.obsidian_title": "Title",
"chat.topics.export.obsidian_title_placeholder": "Please enter the title",
"chat.topics.export.obsidian_title_required": "The title cannot be empty",
"chat.topics.export.obsidian_vault": "Vault",
"chat.topics.export.obsidian_vault_placeholder": "Please select the vault name",
"chat.topics.export.siyuan": "Export to Siyuan Note",
"chat.topics.export.title": "Export",
"chat.topics.export.title_naming_failed": "Failed to generate title, using default title",
"chat.topics.export.title_naming_success": "Title generated successfully",
"chat.topics.export.wait_for_title_naming": "Generating title...",
"chat.topics.export.word": "Export as Word",
"chat.topics.export.yuque": "Export to Yuque",
"chat.topics.group.collapse": "Collapse",
"chat.topics.group.collapse_all": "Collapse all",
"chat.topics.group.earlier": "Earlier",
"chat.topics.group.expand_all": "Expand all",
"chat.topics.group.show_more": "Show more",
"chat.topics.group.this_week": "This week",
"chat.topics.group.today": "Today",
"chat.topics.group.unknown_assistant": "Unlinked Assistant",
"chat.topics.group.unknown_assistant_tip": "This is a historical conversation group without an assistant, not an actual assistant. Move the conversation to an existing assistant to continue.",
"chat.topics.group.yesterday": "Yesterday",
"chat.topics.hover.last_activity": "Last activity: {{time}}",
"chat.topics.list": "Conversation List",
"chat.topics.manage.delete.confirm.content": "Are you sure you want to delete {{count}} selected conversation(s)? This action cannot be undone.",
"chat.topics.manage.delete.confirm.title": "Delete Conversations",
"chat.topics.manage.delete.error": "Failed to delete. Please try again.",
"chat.topics.manage.deselect_all": "Deselect All",
"chat.topics.manage.move.success": "Moved {{count}} conversation(s)",
"chat.topics.move_to": "Move to",
"chat.topics.pin": "Pin Conversation",
"chat.topics.search.placeholder": "Search conversations...",
"chat.topics.search.title": "Search",
"chat.topics.title": "Conversations",
"chat.topics.unpin": "Unpin Conversation",
"chat.translate": "Translate",
"chat.user": "User",
"chat.web_search.warning.openai": "The GPT-5 model's minimal reasoning effort does not support web search.",
"code.add_provider_hint": "Add provider in Settings → Model Service",
"code.add_provider_hint_anthropic_messages": "Configure an Anthropic Messages endpoint in Settings → Model Service",
"code.add_provider_hint_gemini": "Configure a Gemini endpoint in Settings → Model Service",
"code.add_provider_hint_openai_responses": "Configure an OpenAI Responses endpoint in Settings → Model Service",
"code.adv.claude.context_column": "1M",
"code.adv.claude.disable_1m_context": "Disable 1M Context",
"code.adv.claude.disable_attribution_header": "Disable Attribution Header",
"code.adv.claude.disable_auto_upgrade": "Disable Auto Upgrade",
"code.adv.claude.disable_bundled_skills": "Disable Bundled Skills",
"code.adv.claude.disable_compact": "Disable Compaction",
"code.adv.claude.disable_extra_usage_command": "Disable Extra Usage Command",
"code.adv.claude.disable_nonessential_traffic": "Disable Non-Essential Traffic",
"code.adv.claude.disable_terminal_title": "Disable Terminal Title",
"code.adv.claude.effort_level_hint": "Effort Level",
"code.adv.claude.enable_teammates": "Enable Teammates",
"code.adv.claude.enable_tool_search": "Enable Tool Search",
"code.adv.claude.fable_model": "Fable",
"code.adv.claude.haiku_model": "Haiku",
"code.adv.claude.hide_attribution": "Hide AI Attribution",
"code.adv.claude.max_context_tokens_hint": "Max Context Tokens",
"code.adv.claude.max_output_tokens_hint": "Max Output Tokens",
"code.adv.claude.model_column": "Request Model",
"code.adv.claude.model_roles_hint": "Override models used for background subtasks (e.g. compaction, titles). Leave empty to follow the main model.",
"code.adv.claude.opus_model": "Opus",
"code.adv.claude.permissions_hint": "Pre-approve or deny tool patterns. Supports wildcards like Read(secrets-*/config.json).",
"code.adv.claude.role_column": "Role",
"code.adv.claude.sonnet_model": "Sonnet",
"code.adv.claude.subagent_model": "Subagent",
"code.adv.codex.disable_response_storage": "Disable Response Storage",
"code.adv.codex.goal_mode": "Enable Goal Mode",
"code.adv.codex.remote_compaction": "Enable Remote Compaction",
"code.adv.gemini.checkpointing": "Enable Checkpointing",
"code.adv.gemini.disable_usage_stats": "Disable Usage Statistics",
"code.adv.gemini.hide_banner": "Hide Startup Banner",
"code.adv.gemini.vim_mode": "Enable Vim Mode",
"code.adv.kimi.disable_telemetry": "Disable Telemetry",
"code.adv.kimi.keep_background_tasks": "Keep Background Tasks On Exit",
"code.adv.kimi.micro_compaction": "Enable Micro Compaction",
"code.adv.kimi.plan_mode": "Default Plan Mode",
"code.adv.kimi.thinking": "Enable Thinking",
"code.adv.opencode.auto_compact": "Auto Compact",
"code.adv.opencode.enable_reasoning": "Enable Reasoning",
"code.adv.permission_mode": "Permission Approval",
"code.adv.permission_modes.accept_edits": "Accept Edits",
"code.adv.permission_modes.ask": "Ask",
"code.adv.permission_modes.auto": "Auto",
"code.adv.permission_modes.auto_edit": "Auto Edit",
"code.adv.permission_modes.bypass_high_risk": "Bypass Permissions (High Risk)",
"code.adv.permission_modes.default": "Default",
"code.adv.permission_modes.default_allow_all": "Default (Allow All)",
"code.adv.permission_modes.deny": "Deny",
"code.adv.permission_modes.full_access_high_risk": "Full Access (High Risk)",
"code.adv.permission_modes.manual": "Manual",
"code.adv.permission_modes.plan": "Plan",
"code.adv.permission_modes.read_only": "Read Only",
"code.adv.permission_modes.workspace": "Workspace",
"code.adv.permission_modes.yolo_high_risk": "YOLO (High Risk)",
"code.adv.qwen.classify_all_shell": "Classify All Shell Commands",
"code.adv.qwen.disable_auto_update": "Disable Auto Update",
"code.adv.qwen.disable_usage_stats": "Disable Usage Statistics",
"code.adv.qwen.hide_banner": "Hide Startup Banner",
"code.adv.qwen.vim_mode": "Enable Vim Mode",
"code.adv.reasoning_effort": "Reasoning Effort",
"code.adv.reasoning_efforts.default": "Default",
"code.adv.reasoning_efforts.high": "High",
"code.adv.reasoning_efforts.low": "Low",
"code.adv.reasoning_efforts.medium": "Medium",
"code.adv.reasoning_efforts.minimal": "Minimal",
"code.adv.reasoning_efforts.xhigh": "Extra High",
"code.adv.select_placeholder": "Select…",
"code.api_gateway.description": "Any CLI, every model",
"code.api_gateway.requires_running": "Keep Cherry Studio running after enabling — the external CLI connects to the gateway it hosts.",
"code.api_gateway.title": "Unified Gateway",
"code.apply_failed": "Failed to write CLI config to the system file",
"code.clear_config_failed": "Failed to clear the CLI config. Your credentials may still be in the tool's config files.",
"code.cli_config.format_failed": "Format failed. Check the file syntax.",
"code.cli_config.title": "CLI Config File",
"code.cli_config.unknown_model": "Unknown model",
"code.cli_config.unknown_provider": "Unknown Provider",
"code.cli_tools.antigravity_cli": "Antigravity CLI",
"code.cli_tools.claude_code": "Claude Code",
"code.cli_tools.deepseek_harness": "DeepSeek Harness",
"code.cli_tools.gemini_cli": "Gemini CLI",
"code.cli_tools.github_copilot_cli": "GitHub Copilot CLI",
"code.cli_tools.hermes": "Hermes Agent",
"code.cli_tools.kimi_code": "Kimi Code",
"code.cli_tools.minimax_code": "MiniMax Code",
"code.cli_tools.openai_codex": "OpenAI Codex",
"code.cli_tools.openclaw": "OpenClaw",
"code.cli_tools.opencode": "OpenCode",
"code.cli_tools.pi": "Pi",
"code.cli_tools.qoder_cli": "Qoder CLI",
"code.cli_tools.qwen_code": "Qwen Code",
"code.collapse": "Collapse",
"code.configure": "Configure",
"code.count_one": "{{count}} item",
"code.count_other": "{{count}} items",
"code.deepseek_harness.agent_preset": "Default agent mode",
"code.deepseek_harness.agent_presets.code.description": "Combines multi-step tool work through the PTC Code Mode SDK for complex coding tasks.",
"code.deepseek_harness.agent_presets.code.label": "PTC Code",
"code.deepseek_harness.agent_presets.inherit.description": "Keeps the existing default preset in the shared ~/.dsh settings.",
"code.deepseek_harness.agent_presets.inherit.label": "Harness default",
"code.deepseek_harness.agent_presets.minimal.description": "Uses only a persistent shell and text editor for the smallest tool surface.",
"code.deepseek_harness.agent_presets.minimal.label": "Minimal",
"code.deepseek_harness.agent_presets.standard.description": "Full coding agent with files, shell, search, skills, planning, and subagents.",
"code.deepseek_harness.agent_presets.standard.label": "Standard",
"code.deepseek_harness.danger_warning": "Full access lets the agent reach files outside the workspace and skips operation approval. Use it only for tasks you trust.",
"code.deepseek_harness.permission_mode": "Default permission",
"code.deepseek_harness.permission_modes.danger-full-access.description": "Allows unrestricted access without operation approval.",
"code.deepseek_harness.permission_modes.danger-full-access.label": "Full access",
"code.deepseek_harness.permission_modes.read-only.description": "Restricts file writes and asks before risky operations.",
"code.deepseek_harness.permission_modes.read-only.label": "Read only",
"code.deepseek_harness.permission_modes.workspace-write.description": "Allows writes in the current DSH workspace and asks before risky operations.",
"code.deepseek_harness.permission_modes.workspace-write.label": "Workspace write",
"code.disable": "Disable",
"code.enable": "Enable",
"code.endpoint_hint": "Endpoint / Key in Model Service",
"code.folder_placeholder": "Select working directory",
"code.format_json": "Format",
"code.gemini_cli_discontinued": "Gemini CLI has been discontinued. Use Antigravity CLI instead.",
"code.hermes_dashboard.error.cancelled": "Hermes Agent web UI startup was cancelled",
"code.hermes_dashboard.error.dependencies_missing": "Hermes Agent web UI dependencies are missing. Reinstall Hermes Agent in Settings → Dependencies.",
"code.hermes_dashboard.error.not_installed": "Hermes Agent is not installed. Install it in Settings → Dependencies.",
"code.hermes_dashboard.error.open_failed": "Failed to open the Hermes Agent web UI",
"code.hermes_dashboard.error.startup_failed": "Failed to start the Hermes Agent web UI",
"code.hermes_dashboard.error.stop_failed": "Failed to stop the Hermes Agent web UI",
"code.install": "Install",
"code.install_success": "Installation successful",
"code.installing": "Installing…",
"code.latest": "Latest",
"code.launch.error": "Launch failed, please try again",
"code.launch.label": "Launch",
"code.launch.title": "Launch {{tool}}",
"code.launch.validation_error": "Please complete all required fields: CLI tool, model, and working directory",
"code.launching": "Launching...",
"code.model_hint_config": "Select the model to use",
"code.model_mode.common": "General",
"code.model_mode.detailed": "Detailed",
"code.model_placeholder": "Select the model to use",
"code.model_providers": "Model Providers",
"code.model_required": "Please select a model",
"code.model_selection": "Model Selection",
"code.more": "More",
"code.move_provider_to_top": "Move provider to top",
"code.no_matching_providers": "No matching providers",
"code.no_providers_description": "Enable a supported provider in Settings → Model Service",
"code.no_providers_title": "No enabled providers",
"code.no_tools": "No tools available",
"code.not_installed": "Not installed",
"code.open_provider_settings": "Open provider settings",
"code.open_web_ui": "Open Web UI",
"code.own_login.title": "{{toolName}} Official",
"code.providerless_hint": "This tool authenticates through its own login flow — just pick a working directory and launch it. Run the tool once to sign in.",
"code.search_provider_placeholder": "Search providers…",
"code.select_folder": "Select Folder",
"code.select_provider_before_launch": "Select a provider before launching {{toolName}}",
"code.select_provider_model": "Please select a provider and model first",
"code.select_tool_to_start": "Select a CLI tool from the left to start configuring",
"code.stop": "Stop",
"code.terminal": "Terminal",
"code.title": "Code Mate",
"code.tool_parameters": "Parameter Settings",
"code.up_to_date": "Up to date",
"code.upgrade": "Upgrade",
"code.upgrade_success": "Upgrade successful",
"code.working_directory": "Working Directory",
"code_block.collapse": "Collapse",
"code_block.copy.failed": "Copy failed",
"code_block.copy.source": "Copy Source Code",
"code_block.copy.success": "Copied",
"code_block.download.label": "Download",
"code_block.download.png": "Download PNG",
"code_block.download.source": "Download Source Code",
"code_block.download.svg": "Download SVG",
"code_block.edit.label": "Edit",
"code_block.edit.save.failed.label": "Save failed",
"code_block.edit.save.label": "Save Changes",
"code_block.edit.save.success": "Saved",
"code_block.expand": "Expand",
"code_block.more": "More",
"code_block.preview.invalid_json": "Invalid JSON configuration",
"code_block.run": "Run",
"code_block.split.label": "Split View",
"code_block.split.restore": "Restore Split View",
"code_block.wrap.off": "Unwrap",
"code_block.wrap.on": "Wrap",
"common.add": "Add",
"common.add_success": "Added successfully",
"common.advanced_settings": "Advanced Settings",
"common.agent": "Agent",
"common.agent_one": "Agent",
"common.agent_other": "Agents",
"common.all": "All",
"common.archive": "Archive",
"common.archived": "Archived {{name}}",
"common.assistant": "Agent",
"common.assistant_one": "Assistant",
"common.assistant_other": "Assistants",
"common.avatar": "Avatar",
"common.back": "Back",
"common.browse": "Browse",
"common.cancel": "Cancel",
"common.chat": "Chat",
"common.clear": "Clear",
"common.close": "Close",
"common.close_sidebar": "Close sidebar",
"common.collapse": "Collapse",
"common.completed": "Completed",
"common.confirm": "Confirm",
"common.copied": "Copied",
"common.copy": "Copy",
"common.copy_failed": "Copy failed",
"common.create_success": "Created successfully",
"common.current": "Current",
"common.decline": "Decline",
"common.default": "Default",
"common.delete": "Delete",
"common.delete_confirm": "Are you sure you want to delete?",
"common.delete_failed": "Failed to delete",
"common.delete_success": "Deleted successfully",
"common.description": "Description",
"common.detail": "Detail",
"common.disabled": "Disabled",
"common.docs": "Docs",
"common.download": "Download",
"common.edit": "Edit",
"common.enabled": "Enabled",
"common.error": "error",
"common.expand": "Expand",
"common.export.excel": "Export to Excel",
"common.file.not_supported": "Unsupported file type {{type}}",
"common.footnotes": "References",
"common.fullscreen": "Entered fullscreen mode. Press F11 to exit",
"common.go_to_settings": "Go to settings",
"common.group.create": "New Group",
"common.group.create_failed": "Failed to create group",
"common.group.name_placeholder": "Enter group name...",
"common.group.name_required": "Group name is required",
"common.help": "Help",
"common.html_preview": "HTML Preview",
"common.i_know": "I know",
"common.knowledge_base": "Knowledge Base",
"common.language": "Language",
"common.layout.single_column": "Switch to single column",
"common.layout.two_columns": "Switch to two columns",
"common.link.copy": "Copy link",
"common.link.open_browser": "Open in built-in browser",
"common.loading": "Loading...",
"common.maximize": "Maximize",
"common.minimize": "Minimize",
"common.model": "Model",
"common.models": "Models",
"common.more": "More",
"common.name": "Name",
"common.next": "Next",
"common.next_match": "Next match",
"common.no_results": "No results",
"common.none": "None",
"common.open": "Open",
"common.open_in": "Open in {{name}}",
"common.open_in_new_tab": "Open in new tab",
"common.other": "Other",
"common.powered_by": "Powered by ",
"common.preview": "Preview",
"common.previous": "Previous",
"common.previous_match": "Previous match",
"common.prompt": "Prompt",
"common.reasoning_content": "Deep reasoning",
"common.refresh": "Refresh",
"common.refresh_failed": "Couldn't refresh the list. Showing the last loaded version.",
"common.regenerate": "Regenerate",
"common.rename": "Rename",
"common.required_field": "Required field",
"common.reset": "Reset",
"common.resize_panel": "Resize panel",
"common.retry": "Retry",
"common.save": "Save",
"common.save_failed": "Save failed",
"common.saved": "Saved",
"common.search": "Search",
"common.select": "Select",
"common.select_all": "Select All",
"common.selected": "Selected",
"common.selectedItems": "Selected {{count}} items",
"common.selectedMessages": "Selected {{count}} messages",
"common.settings": "Settings",
"common.stop": "Stop",
"common.success": "Success",
"common.swap": "Swap",
"common.undo": "Undo",
"common.unknown": "Unknown",
"common.unnamed": "Unnamed",
"common.update_success": "Update successfully",
"common.yesterday": "Yesterday",
"common.you": "You",
"conversation_owner.archive.related_sessions": "Also archive related sessions",
"conversation_owner.archive.related_topics": "Also archive related topics",
"deviceConnections.capabilities.agent": "Control agent sessions",
"deviceConnections.capabilities.configuration": "Import providers and models",
"deviceConnections.claims.approve": "Approve",
"deviceConnections.claims.approved": "Device paired",
"deviceConnections.claims.codeHint": "Approve only if this code matches the one shown on the device.",
"deviceConnections.claims.error": "Failed to update the pairing request: ",
"deviceConnections.claims.reject": "Reject",
"deviceConnections.claims.title": "Pairing request",
"deviceConnections.description": "Connect mobile devices over a local, company or VPN network.",
"deviceConnections.devices.empty": "No devices have been paired yet.",
"deviceConnections.devices.loadError": "Failed to load paired devices.",
"deviceConnections.devices.revoke": "Revoke access",
"deviceConnections.devices.revoked": "Device access revoked",
"deviceConnections.devices.title": "Paired devices",
"deviceConnections.discovery.unavailable": "Discovery is unavailable. You can still connect using a configured address or a fresh QR code.",
"deviceConnections.download.android": "Android download",
"deviceConnections.download.googlePlay": "Get it on Google Play",
"deviceConnections.download.ios": "iOS · App Store",
"deviceConnections.download.loadFailed": "Couldn't load the download link",
"deviceConnections.download.platform.android": "Android",
"deviceConnections.download.platform.ios": "iOS",
"deviceConnections.download.scanApk": "Scan to download APK",
"deviceConnections.download.testFlight": "Join the TestFlight beta",
"deviceConnections.downloadMobile": "Download mobile app",
"deviceConnections.downloadMobileHint": "Install Cherry Studio on your phone and connect to your desktop.",
"deviceConnections.gateway.openSettings": "Open API Gateway settings",
"deviceConnections.gateway.required": "Start the gateway in API Gateway settings before allowing network access.",
"deviceConnections.guide.continue": "Already installed? Connect your device",
"deviceConnections.lan.disable": "Disable network access",
"deviceConnections.lan.enable": "Allow network access",
"deviceConnections.lan.error": "Failed to change network access: ",
"deviceConnections.pairing.address": "Connection address",
"deviceConnections.pairing.addressUnavailable": "The selected address is no longer available. Choose another address.",
"deviceConnections.pairing.automatic": "Automatic",
"deviceConnections.pairing.error": "Failed to create pairing code: ",
"deviceConnections.pairing.expired": "QR code expired",
"deviceConnections.pairing.hint": "Scan with the Cherry Studio mobile app. The invitation is single-use and expires in 2 minutes.",
"deviceConnections.pairing.refreshAddresses": "Refresh addresses",
"deviceConnections.pairing.requiresRunning": "Allow network access to pair devices.",
"deviceConnections.pairing.title": "Pair a device",
"deviceConnections.showcase.agent": "Make your agents your own",
"deviceConnections.showcase.chat": "Chat wherever you are",
"deviceConnections.showcase.image": "Bring your ideas to life",
"deviceConnections.showcase.title": "Cherry Studio on your phone",
"deviceConnections.status.disabled": "Network access is off",
"deviceConnections.status.ready": "Network access is allowed",
"deviceConnections.status.stopped": "Network access is unavailable",
"deviceConnections.title": "Device Connections",
"deviceConnections.toggle.description": "Enabling this lets any device that can reach this computer over the network request a connection. Pairing and authorization are required to access data or control Agents.",
"deviceConnections.toggle.enabled": "Devices on reachable networks can connect. Pairing and authorization are required to access data or control Agents.",
"deviceConnections.toggle.risk": "Connections are encrypted and bound to each paired device. Approved devices can import your provider API keys or control agent sessions, so pair only devices you trust.",
"docs.title": "Docs",
"emoji_picker.categories.activities": "Activities",
"emoji_picker.categories.animals_nature": "Animals & Nature",
"emoji_picker.categories.flags": "Flags",
"emoji_picker.categories.food_drink": "Food & Drink",
"emoji_picker.categories.objects": "Objects",
"emoji_picker.categories.recent": "Frequently used",
"emoji_picker.categories.smileys_emotion": "Smileys & Emotion",
"emoji_picker.categories.symbols": "Symbols",
"emoji_picker.categories.travel_places": "Travel & Places",
"emoji_picker.search": "Search",
"endpoint_type.anthropic": "Anthropic",
"endpoint_type.gemini": "Gemini",
"endpoint_type.image-edit": "Image Edit (OpenAI)",
"endpoint_type.image-generation": "Image Generation (OpenAI)",
"endpoint_type.jina-rerank": "Jina Rerank",
"endpoint_type.openai": "OpenAI",
"endpoint_type.openai-embeddings": "Embeddings (OpenAI)",
"endpoint_type.openai-response": "OpenAI-Response",
"error.api_gateway_required": "This model must be bridged through Cherry Studio's local API Gateway, which is currently disabled. Enable it to run this agent.",
"error.availableProviders": "Available Providers",
"error.availableTools": "Available Tools",
"error.backup.file_format": "Backup file format error",
"error.base64DataTruncated": "Base64 image data truncated, size",
"error.boundary.default.devtools": "Open debug panel",
"error.boundary.default.message": "It seems that something went wrong...",
"error.boundary.default.reload": "Reload",
"error.boundary.details": "Details",
"error.boundary.mcp.invalid": "Invalid MCP server",
"error.cause": "Error cause",
"error.chat.chunk.non_json": "Returned an invalid data format",
"error.chat.insufficient_balance": "Please go to the
1. Download the OV models.
2. Add the models in Manager.
Windows only.
OVMS installation path: '%USERPROFILE%\\.cherrystudio\\ovms'.
See the Intel OVMS guide.