{
  "title": "Extension Management",
  "subtitle": "Manage and configure system extensions",
  "tabs": {
    "installedPlugins": "AstrBot Plugins",
    "installedMcpServers": "MCP",
    "skills": "Skills",
    "handlersOperation": "Manage Handlers",
    "market": "AstrBot Plugin Market"
  },
  "titles": {
    "installedAstrBotPlugins": "Installed AstrBot Plugins"
  },
  "failedPlugins": {
    "title": "Failed to Load Plugins ({count})",
    "hint": "These plugins failed to load. You can try reload or uninstall them directly.",
    "columns": {
      "plugin": "Plugin",
      "error": "Error"
    }
  },
  "search": {
    "placeholder": "Search extensions...",
    "marketPlaceholder": "Search market extensions..."
  },
  "filters": {
    "all": "All"
  },
  "views": {
    "card": "Card View",
    "list": "List View"
  },
  "buttons": {
    "showSystemPlugins": "Show System Extensions",
    "hideSystemPlugins": "Hide System Extensions",
    "install": "Install",
    "uninstall": "Uninstall",
    "update": "Update",
    "reload": "Reload",
    "enable": "Enable",
    "disable": "Disable",
    "configure": "Configure",
    "viewInfo": "Handlers",
    "viewDocs": "Documentation",
    "viewRepo": "Repository",
    "openPages": "Pages",
    "openPage": "Open",
    "openWebui": "Open Plugin UI",
    "close": "Close",
    "save": "Save",
    "saveAndClose": "Save and Close",
    "cancel": "Cancel",
    "next": "Next",
    "actions": "Actions",
    "back": "Back",
    "selectFile": "Select File",
    "refresh": "Refresh",
    "updateAll": "Update All",
    "pin": "Pin",
    "unpin": "Unpin",
    "deleteSource": "Delete Source",
    "reshuffle": "Shuffle Again"
  },
  "status": {
    "enabled": "Enabled",
    "disabled": "Disabled",
    "system": "System",
    "loading": "Loading...",
    "installed": "Installed",
    "unknown": "Unknown",
    "unsupported": "Unsupported"
  },
  "tooltips": {
    "enable": "Click to Enable",
    "disable": "Click to Disable",
    "reload": "Reload",
    "configure": "Configure",
    "viewInfo": "Handlers",
    "viewDocs": "Documentation",
    "update": "Update",
    "uninstall": "Uninstall"
  },
  "table": {
    "headers": {
      "name": "Name",
      "description": "Description",
      "version": "Version",
      "author": "Author",
      "status": "Status",
      "actions": "Actions",
      "stars": "Stars",
      "lastUpdate": "Last Update",
      "tags": "Tags",
      "eventType": "Event Type",
      "specificType": "Specific Type",
      "trigger": "Trigger"
    }
  },
  "empty": {
    "noPlugins": "No Extensions",
    "noPluginsDesc": "Try installing extensions or adjusting the search"
  },
  "detail": {
    "contents": "Plugin Handlers",
    "noContents": "No handlers",
    "notFound": "Plugin not found",
    "docsTitle": "Documentation",
    "docsEmpty": "No documentation",
    "changelogTitle": "Changelog",
    "changelogEmpty": "No changelog",
    "subCommandsCount": "{count} sub-commands",
    "handlerGroups": {
      "page": "Pages",
      "skill": "Skills",
      "command": "Commands / Command Groups",
      "llm_tool": "LLM Tools",
      "listener": "Event Listeners",
      "hook": "Hooks",
      "commands": "Commands / Command Groups",
      "hooks": "Hooks",
      "functionTools": "Function Tools",
      "eventListeners": "Event Listeners"
    },
    "info": {
      "title": "Info",
      "version": "Version",
      "author": "Author",
      "category": "Category",
      "stars": "Stars",
      "tags": "Tags",
      "astrbotVersion": "AstrBot Version Requirement",
      "supportPlatforms": "Supported Platforms",
      "authorWebsite": "Author Website",
      "repository": "Repository"
    }
  },
  "market": {
    "recommended": "🥳 Recommended",
    "allPlugins": "📦 All Extensions",
    "category": "Category",
    "categories": {
      "all": "All",
      "ai_tools": "AI Tools",
      "entertainment": "Entertainment",
      "productivity": "Productivity",
      "integrations": "Integrations",
      "utilities": "Utilities",
      "other": "Other"
    },
    "showFullName": "Full Name",
    "devDocs": "Extension Development Docs",
    "submitRepo": "Submit Extension Repository",
    "customSource": "Custom Extension Source",
    "source": "Source",
    "availableSources": "Available Sources",
    "sourceManagement": "Source Management",
    "addSource": "Add Source",
    "sourceName": "Source Name",
    "sourceUrl": "Source URL",
    "defaultSource": "Default Source",
    "removeSource": "Remove Source",
    "confirmRemoveSource": "Are you sure you want to remove this source?",
    "sourceAdded": "Source added successfully",
    "sourceRemoved": "Source removed successfully",
    "sourceError": "Operation failed",
    "selectSource": "Select Source",
    "currentSource": "Current Source",
    "editSource": "Edit Source",
    "sourceUpdated": "Source updated successfully",
    "defaultOfficialSource": "Default Official Source",
    "sourceExists": "This source already exists",
    "sourceResolved": "Source resolved successfully",
    "installPlugin": "Install Plugin",
    "randomPlugins": "🎲 Random Plugins",
    "sourceSafetyWarning": "Even with the default source, plugin stability and security cannot be fully guaranteed. Please verify carefully before use."
  },
  "sort": {
    "by": "Sort by",
    "default": "Default",
    "installTime": "Last Modified",
    "name": "Name",
    "stars": "Stars",
    "author": "Author",
    "updated": "Last Updated",
    "updateStatus": "Update Status",
    "ascending": "Ascending",
    "descending": "Descending"
  },
  "tags": {
    "danger": "Danger"
  },
  "dialogs": {
    "error": {
      "title": "Error Information",
      "checkConsole": "Please check console for details"
    },
    "config": {
      "title": "Extension Configuration",
      "noConfig": "This extension has no configuration"
    },
    "loading": {
      "title": "Loading...",
      "logs": "Logs"
    },
    "uninstall": {
      "title": "Confirm Deletion",
      "message": "Are you sure you want to delete this extension?",
      "deleteConfig": "Also delete plugin configuration file",
      "deleteData": "Also delete plugin persistent data",
      "configHint": "Configuration file located in data/config directory",
      "dataHint": "Deletes data in data/plugin_data and data/plugins_data, as well as KV preference data in the database"
    },
    "install": {
      "title": "Install Extension",
      "fromFile": "Install from File",
      "fromUrl": "Install from URL",
      "supportPlatformsCount": "Supports {count} Platforms",
      "sectionTitle": "Install",
      "downloadSource": "The plugin package will be installed from:",
      "githubSecurityWarning": "AstrBot cannot guarantee the safety of plugins downloaded from GitHub. Install only if you trust the plugin source."
    },
    "update": {
      "title": "Update Extension",
      "sectionTitle": "Update",
      "downloadSource": "The update package will be installed from:",
      "confirm": "Confirm Update"
    },
    "danger_warning": {
      "title": "Dangerous Plugin Warning",
      "message": "This plugin has been flagged as containing security risks, including unsafe code or functionalities that may cause system malfunctions or data loss. Do you wish to proceed with the installation?",
      "confirm": "Continue",
      "cancel": "Cancel"
    },
    "versionSupport": {
      "title": "Version Support Warning",
      "message": "This plugin declares an AstrBot version range that does not match your current version. You can ignore this warning and continue installation, but it may not work correctly.",
      "confirm": "Ignore Warning and Install",
      "cancel": "Cancel Installation"
    },
    "forceUpdate": {
      "title": "No New Version Detected",
      "message": "No new version detected for this plugin. Do you want to force reinstall? This will pull the latest code from the remote repository.",
      "confirm": "Force Update"
    },
    "updateAllConfirm": {
      "title": "Confirm Update All Plugins",
      "message": "Are you sure you want to update all {count} plugins? This operation may take some time.",
      "confirm": "Confirm Update"
    },
    "sourceBinding": {
      "title": "Change Plugin Source",
      "noCandidates": "No configured plugin source contains a matching plugin identifier and repository.",
      "confirm": "Use This Source"
    }
  },
  "messages": {
    "uninstalling": "Uninstalling",
    "refreshing": "Refreshing extension list...",
    "refreshSuccess": "Extension list refreshed!",
    "refreshFailed": "Error occurred while refreshing extension list",
    "operationFailed": "Operation failed",
    "reloadSuccess": "Reload successful",
    "reloadFailed": "Reload failed",
    "updateSuccess": "Update successful!",
    "addSuccess": "Add successful!",
    "saveSuccess": "Save successful!",
    "deleteSuccess": "Delete successful!",
    "installing": "Installing extension from file",
    "installingFromUrl": "Installing extension from URL...",
    "installFailed": "Extension installation failed:",
    "getMarketDataFailed": "Failed to get extension market data:",
    "hasUpdate": "New version available:",
    "confirmDelete": "Are you sure you want to delete this extension?",
    "fillUrlOrFile": "Please fill in extension URL or upload extension file",
    "dontFillBoth": "Please don't fill in both extension URL and upload file",
    "supportedFormats": "Supports .zip extension files",
    "updateAllSuccess": "All upgradable extensions have been updated!",
    "updateAllFailed": "{failed} of {total} extensions failed to update:",
    "noUpdatesAvailable": "No extensions have updates available",
    "updateDisabled": "This plugin was not installed from a plugin marketplace source, so update checks and updates are disabled",
    "fillSourceUrl": "Please enter the source URL",
    "fillSourceName": "Please enter the source name",
    "resolveSourceFirst": "Resolve and validate the source URL first",
    "sourceResolveFailed": "Failed to resolve source",
    "invalidUrl": "Please enter a valid URL",
    "enterJsonUrl": "Please enter a URL that returns plugin list JSON data",
    "pluginNotFound": "Plugin not found",
    "pluginDisabled": "This plugin is disabled. Enable it before opening its page.",
    "pluginPageNotFound": "Plugin page not found",
    "pluginPageLoadFailed": "Failed to load the plugin page",
    "missingMarketPluginId": "This source record is missing legal plugin identifiers, so it cannot be installed from the market",
    "sourceBindSuccess": "Plugin source updated"
  },
  "upload": {
    "fromFile": "Install from File",
    "fromUrl": "Install from URL",
    "selectFile": "Select File",
    "enterUrl": "Enter extension repository URL"
  },
  "skills": {
    "modeLocal": "Local Skills",
    "modeNeo": "Neo Skills",
    "actions": "Actions",
    "upload": "Upload Skills",
    "refresh": "Refresh",
    "empty": "No Skills found",
    "emptyHint": "Upload a Skills zip to get started",
    "uploadDialogTitle": "Upload Skills",
    "uploadHint": "Upload multiple zip skill packages or drag them in. The system validates the structure automatically and shows a result for each file.",
    "structureRequirement": "The archive supports multiple skills folders.",
    "abilityMultiple": "Upload multiple zip files at once",
    "abilityValidate": "Validate `SKILL.md` automatically",
    "abilitySkip": "Automatically skip duplicate files.",
    "selectFile": "Select file",
    "selectFiles": "Select files (multiple allowed)",
    "dropzoneTitle": "Drag multiple zip files here",
    "dropzoneAction": "or click to pick multiple files from a folder",
    "dropzoneHint": "Batch upload is supported and the structure will be validated automatically",
    "fileListTitle": "Files in queue",
    "fileListEmpty": "Selected files will appear here with validation feedback and upload status",
    "uploading": "Uploading...",
    "batchResultTitle": "Batch Upload Results",
    "batchResultSummary": "{success} of {total} files uploaded successfully",
    "batchSuccessList": "Successfully uploaded",
    "batchFailedList": "Failed to upload",
    "confirm": "OK",
    "confirmUpload": "Start Upload",
    "cancel": "Cancel",
    "statusWaiting": "Waiting",
    "statusUploading": "Uploading",
    "statusSuccess": "Uploaded",
    "statusError": "Failed",
    "statusSkipped": "Skipped",
    "summaryTotal": "{count} file(s)",
    "summaryReady": "Pending {count}",
    "summarySuccess": "Success {count}",
    "summaryFailed": "Failed {count}",
    "summarySkipped": "Skipped {count}",
    "validationReady": "Ready to upload. The archive structure will be checked during upload.",
    "validationZipOnly": "Only zip skill packages are supported",
    "validationDuplicate": "A file with the same name is already in the queue and has been skipped",
    "validationUploading": "Validating and uploading...",
    "validationUploadFailed": "Upload failed. Please try again.",
    "validationUploadedAs": "Installed as {name}",
    "validationNoResult": "No validation result was returned. Check the platform logs.",
    "noDescription": "No description",
    "path": "Path",
    "uploadSuccess": "Upload succeeded",
    "uploadFailed": "Upload failed",
    "download": "Download",
    "downloadSuccess": "Download succeeded",
    "downloadFailed": "Download failed",
    "loadFailed": "Failed to load Skills",
    "updateSuccess": "Updated successfully",
    "updateFailed": "Update failed",
    "deleteTitle": "Delete confirmation",
    "deleteMessage": "Are you sure you want to delete this Skill?",
    "deleteSuccess": "Deleted successfully",
    "deleteFailed": "Delete failed",
    "neoSkillKey": "Filter by skill_key",
    "neoStatus": "Candidate Status",
    "neoStage": "Release Stage",
    "neoFilterHint": "Filter candidates and release records",
    "neoAll": "All",
    "neoCandidates": "Neo Candidates",
    "neoReleases": "Neo Releases",
    "neoLoadFailed": "Failed to load Neo skills data",
    "neoPass": "Pass",
    "neoReject": "Reject",
    "neoEvaluateSuccess": "Evaluation updated",
    "neoEvaluateFailed": "Failed to update evaluation",
    "neoPromoteSuccess": "Promoted successfully",
    "neoPromoteFailed": "Failed to promote",
    "neoRollback": "Rollback",
    "neoRollbackSuccess": "Rollback succeeded",
    "neoRollbackFailed": "Rollback failed",
    "neoDeactivate": "Deactivate",
    "neoDeactivateSuccess": "Deactivated successfully",
    "neoDeactivateFailed": "Failed to deactivate",
    "neoSync": "Sync",
    "neoSyncSuccess": "Sync succeeded",
    "neoSyncFailed": "Sync failed",
    "neoDelete": "Delete",
    "neoDeleteSuccess": "Deleted successfully",
    "neoDeleteFailed": "Failed to delete",
    "neoPayloadTitle": "Neo Payload",
    "neoPayloadFailed": "Failed to load payload",
    "runtimeNoneWarning": "Computer Use runtime is set to None; Skills may not run correctly because no runtime is enabled.",
    "runtimeHint": "Set the Computer Use runtime to Local or Sandbox in settings so AstrBot can use your Skills. Workspace Skills are not shown on this page yet.",
    "neoRuntimeRequired": "Neo Skills are available only when runtime is sandbox and sandbox booter is shipyard_neo.",
    "sourceLocalOnly": "Local Skill",
    "sourceSandboxOnly": "Sandbox Preset Skill",
    "sourceBoth": "Local + Sandbox",
    "sourcePlugin": "Plugin: {plugin}",
    "sandboxDiscoveryPending": "Sandbox preset skills have not been discovered yet. Start at least one sandbox session to populate this list.",
    "sandboxPresetReadonly": "Sandbox preset skills are read-only here. You cannot delete or enable/disable them from Local Skills.",
    "pluginReadonly": "Plugin-provided skills are managed by their plugin. They cannot be deleted or downloaded from Local Skills.",
    "openEditor": "View/Edit",
    "editorTitle": "Edit Skill",
    "editorLoadFailed": "Failed to load Skill file",
    "editorSaveFailed": "Failed to save Skill file",
    "editorSaveSuccess": "Saved successfully",
    "saveFile": "Save file",
    "readonly": "Read-only",
    "unsaved": "Unsaved",
    "noFileSelected": "No file selected",
    "discardChanges": "This file has unsaved changes. Discard them?"
  },
  "card": {
    "actions": {
      "pluginConfig": "Extension Config",
      "uninstallPlugin": "Uninstall Extension",
      "reloadPlugin": "Reload Extension",
      "togglePlugin": "Extension",
      "viewHandlers": "View Handlers",
      "updateTo": "Update to",
      "reinstall": "Reinstall",
      "changeSource": "Change Plugin Source"
    },
    "status": {
      "hasUpdate": "New version available",
      "disabled": "This extension is disabled",
      "handlersCount": " handlers",
      "supportPlatform": "Supported Platform",
      "supportPlatformsCount": "Supports {count} Platforms",
      "astrbotVersion": "AstrBot Version Requirement"
    },
    "alt": {
      "logo": "logo",
      "extensionIcon": "extension icon"
    },
    "errors": {
      "confirmNotRegistered": "$confirm not properly registered"
    }
  },
  "conflicts": {
    "title": "Command Conflicts Detected",
    "message": "This will cause some commands to work abnormally. It is recommended to go to the [Command Management] panel to handle it.",
    "pairs": "command conflicts",
    "goToManage": "Go to Manage",
    "later": "Later"
  },
  "pluginChangelog": {
    "menuTitle": "View Changelog"
  }
}
