{
  "app": {
    "name": "Skills Manager"
  },
  "sidebar": {
    "dashboard": "Dashboard",
    "mySkills": "Library",
    "globalWorkspace": "Global Workspace",
    "installSkills": "Install Skills",
    "presets": "Presets",
    "newPreset": "New Preset",
    "projects": "Project Workspaces",
    "addProject": "Link Project",
    "settings": "Settings"
  },
  "help": {
    "eyebrow": "Guide",
    "title": "Quick Start for Skills Manager",
    "description": "Fastest path: install skills → open Global Workspace → click a Preset pill to activate. Press ⌘K anytime for the command palette. Use Project Workspaces, Git backup, and Settings as needed.",
    "items": {
      "workflows": {
        "title": "Recommended Workflows",
        "description": "Single-agent: install skills → open Global Workspace → click a Preset pill to activate, or hit + Add Skills to pick from your library and toggle target agents inline. Multi-project: open a Project Workspace and use the same Preset pills or + Add Skills picker for that project's agents. Multi-machine: turn on Git Backup in Settings to sync your library across devices."
      },
      "presets": {
        "title": "Presets",
        "description": "Group skills into named presets. In any workspace, click a Preset pill to instantly activate or deactivate all its skills for the current agent scope. Active presets show ✓; partially installed ones show a count. Applying a preset is a one-time copy — not a live sync."
      },
      "install": {
        "title": "Install Skills",
        "description": "Import from local folders, Git repositories, archives, or the marketplace. Batch-import multiple skills from a folder at once."
      },
      "sync": {
        "title": "Library",
        "description": "Browse all installed skills with bulk tag editing and per-agent sync toggles. Filter by source or tag — including an Untagged pill to surface skills missing labels. Click an agent icon on any skill card to install or remove that skill for that agent in one click; the always-visible delete button removes a skill from the central library. Click the card itself to view docs, version history, and agent sync details."
      },
      "global": {
        "title": "Global Workspace",
        "description": "Each agent gets its own page listing every skill in its global folder — including ones installed outside Skills Manager — so the view matches what the agent actually sees. Use + Add Skills to pull from your central library with inline target-agent chips, or use the All Agents overview to manage every installed agent at once. Skills that only exist in an agent folder can be deleted directly from the card."
      },
      "projects": {
        "title": "Project Workspaces",
        "description": "Link a project to browse per-agent local skill folders, compare with the central library, and import or export changes. Use Preset pills to activate skill groups, or open + Add Skills to pick from your library with a multi-agent target picker."
      },
      "backup": {
        "title": "Git Backup",
        "description": "Configure a remote repository in Settings, then back up or sync from My Skills. Each sync creates a restorable snapshot tag — ideal for multi-machine sync and version tracking."
      },
      "settings": {
        "title": "Settings",
        "description": "Manage agent paths and toggles, add custom agents, drag to reorder how agents appear across the app, change sync mode, theme, text size, language, proxy, Git remote, AI search key, and check for app updates. Use Export Logs to bundle recent logs and install/remove/update/sync activity into a single zip when filing an issue."
      }
    }
  },
  "commandPalette": {
    "placeholder": "Jump to skill, preset, project, action…",
    "empty": "No matches. Try a different query.",
    "skills": "Skills",
    "presets": "Presets",
    "projects": "Projects",
    "actions": "Actions",
    "scanImport": "Scan & import local skills",
    "hints": {
      "navigate": "navigate",
      "open": "open",
      "toggle": "toggle"
    }
  },
  "dashboard": {
    "greeting": "Hello!",
    "summary": "{{skills}} Skills in Library · {{agents}} Agents connected · {{projects}} Projects",
    "librarySkills": "Library Skills",
    "syncCoverage": "Sync Coverage",
    "connectedAgents": "Connected Agents",
    "synced": "Synced",
    "notSynced": "Not synced",
    "scanImport": "Scan & Import Local Skills",
    "installNew": "Install New Skills",
    "recentActivity": "Recent Activity"
  },
  "mySkills": {
    "title": "Library",
    "applyToDefault": "Apply Preset",
    "applied": "Applied",
    "notAppliedYet": "Not applied yet",
    "appliedToast": "Applied",
    "applyMissingDefault": "No enabled agent installed — apply needs at least one location.",
    "defaultLocationMissing": "Default location missing",
    "openLocationSettings": "Open settings",
    "applyCallout": "Clicking a preset only opens it. Use Apply Preset to add or remove its skills from selected agents.",
    "subtitle": "{{count}} skills from the central library are enabled in “{{preset}}”",
    "searchPlaceholder": "Search skills in the central library...",
    "allStatus": "All Status",
    "synced": "Synced",
    "sync": "Sync",
    "unsync": "Unsync",
    "enable": "Enable",
    "enabledButton": "Enabled",
    "disable": "Disable",
    "enableForPreset": "Enable for current preset",
    "disableForPreset": "Disable for current preset",
    "enabledInPreset": "Added to current preset",
    "disabledInPreset": "Removed from current preset",
    "inPreset": "Enabled in current preset",
    "notInPreset": "Not enabled in current preset",
    "remove": "Remove from preset",
    "delete": "Delete skill",
    "deleteConfirm": "Delete skill \"{{name}}\" permanently? This removes its central library files, preset links, and synced agent targets.",
    "deleted": "deleted",
    "viewDoc": "View docs",
    "noSkills": "No skills to display",
    "addFirst": "Click \"Install Skills\" to add skills into the central library",
    "noMatch": "No skills match the current search or filter",
    "noPreset": "No preset is currently available",
    "currentPresetFallback": "Current preset",
    "presetCount": "{{count}} presets",
    "syncCoverage": "Sync coverage",
    "syncSummary": "{{synced}} / {{total}} synced",
    "moreAgents": "+{{count}} more",
    "syncMissing": "Sync {{count}}",
    "unsyncSelected": "Unsync {{count}}",
    "syncNothingToDo": "This skill already covers every installed agent",
    "unsyncNothingToDo": "This skill is not synced to any agent yet",
    "syncCompleted": "{{name}} synced to {{count}} agents",
    "unsyncCompleted": "{{name}} unsynced from {{count}} agents",
    "targetClickInstall": "Click to install",
    "targetClickUninstall": "Click to uninstall",
    "targetInstalled": "{{name}} installed to {{agent}}",
    "targetUninstalled": "{{name}} uninstalled from {{agent}}",
    "gitRepoSync": "Sync",
    "gitRepoSyncing": "Syncing…",
    "gitRepoSynced": "Synced",
    "gitRepoUpToDate": "Git up to date",
    "gitRepoNeedRemote": "Set remote first",
    "gitRepoFixSetup": "Fix Sync Setup",
    "gitSyncSuccessWithVersion": "Sync completed · Snapshot {{tag}}",
    "gitInlineUpToDate": "Git · Up to date",
    "gitInlineNotConfigured": "Git · Backup not set up",
    "gitInlineNeedFix": "Git · Sync setup needs fixing",
    "gitInlineLocalChanges": "{{count}} local change(s)",
    "gitInlineRemoteUpdates": "{{count}} remote update(s)",
    "gitInlineLastSnapshot": "Last snapshot {{when}}",
    "gitInlineRemoteOnly": "Remote has updates",
    "gitInlineLocalOnly": "Local changes pending",
    "gitInlineConflict": "Git · Merge conflict — needs resolution",
    "gitSnapshots": "Snapshots",
    "gitVersionHistory": "Snapshots",
    "gitVersionLoading": "Loading snapshots…",
    "gitVersionEmpty": "No snapshots yet. Run Sync to create one.",
    "gitVersionRestore": "Restore",
    "gitVersionRestoring": "Restoring…",
    "gitVersionRestoreTitle": "Restore Snapshot",
    "gitVersionRestoreConfirm": "Restore skill library to {{tag}}? This creates a new restore commit and keeps current history.",
    "gitVersionRestoreSuccess": "Restored to {{tag}}",
    "gitVersionRestoreNeedSync": "Restore is local for now. Run Sync to Git to share it with remote.",
    "gitCurrentVersionSnapshot": "Current: {{tag}}",
    "gitCurrentVersionRestored": "Current: restored from {{tag}}",
    "gitCurrentVersionUnknown": "Current: no snapshot",
    "updateNotification": "{{count}} skill(s) have updates available",
    "viewUpdates": "View",
    "compactEnabledCount": "{{count}} enabled",
    "confirmSyncTitle": "Confirm sync scope",
    "confirmUnsyncTitle": "Confirm unsync scope",
    "confirmSyncMessage": "Sync \"{{name}}\" to these {{count}} agents.",
    "confirmUnsyncMessage": "Remove \"{{name}}\" from these {{count}} synced agents.",
    "sourceType": "Source type",
    "sourceRef": "Source",
    "sourceResolved": "Resolved source",
    "sourceBranch": "Branch",
    "sourceSubpath": "Subpath",
    "sourceRevision": "Revision",
    "docTabs": {
      "local": "Local",
      "diff": "Diff",
      "source": "Source"
    },
    "sourceDiffUnavailable": "Source content is unavailable right now",
    "localSource": "Local library",
    "agentCount": "{{count}} agents",
    "ready": "Ready",
    "standby": "Standby",
    "agentTogglesTitle": "Global Workspace",
    "expandAgentToggles": "Expand",
    "collapseAgentToggles": "Collapse",
    "agentToggleEnabled": "{{agent}} enabled",
    "agentToggleDisabled": "{{agent}} disabled",
    "agentToggleNotInstalled": "Not installed",
    "agentToggleDisabledGlobally": "Disabled in Settings",
    "agentUnavailableCount": "{{count}} unavailable",
    "updateStatus": {
      "unknown": "Unknown",
      "checking": "Checking",
      "updating": "Updating",
      "upToDate": "Up to date",
      "available": "Update available",
      "error": "Check failed",
      "localOnly": "Local source",
      "sourceMissing": "Source missing"
    },
    "updateActions": {
      "check": "Check",
      "checkAll": "Check All",
      "checkedAll": "Checked all skill updates",
      "update": "Update",
      "updateAvailable": "Update All ({{count}})",
      "updated": "Skill updated",
      "reimport": "Reimport",
      "reimported": "Skill reimported",
      "relink": "Relink",
      "relinked": "Source path relinked",
      "detachSource": "Keep local copy",
      "detachedSource": "Source tracking removed",
      "alreadyUpToDate": "Skill content unchanged (version synced)"
    },
    "gitConfigEntry": "Sync Config",
    "filters": {
      "all": "All",
      "enabled": "Enabled",
      "available": "Available"
    },
    "sourceFilter": {
      "all": "All Sources",
      "local": "Local",
      "import": "Imported",
      "git": "Git",
      "skillssh": "skills.sh"
    },
    "tags": {
      "filter": "Tags",
      "allTags": "All Tags",
      "untagged": "Untagged",
      "addTag": "Add tag...",
      "noTags": "No tags",
      "tagAdded": "Tag added",
      "tagsUpdated": "Tags updated"
    },
    "selectMode": "Select",
    "selectedCount": "{{count}} selected",
    "selectHint": "Click skills to select",
    "batchUpdate": "Update {{count}}",
    "batchUpdated": "{{count}} skills refreshed",
    "batchAlreadyUpToDate": "{{count}} skills already up to date",
    "batchUpdateFailed": "{{count}} skills failed to refresh",
    "deleteSelected": "Delete {{count}}",
    "batchDeleteConfirm": "Delete {{count}} selected skills permanently? This removes their central library files, preset links, and synced agent targets.",
    "batchDeleted": "{{count}} skills deleted",
    "batchDeleteFailed": "{{count}} skills failed to delete",
    "batchToggleFailed": "{{count}} skills failed to update",
    "cancelSelect": "Cancel selection",
    "selectAll": "Select All",
    "deselectAll": "Deselect All",
    "batchEnable": "Enable {{count}}",
    "batchDisable": "Disable {{count}}",
    "batchEnabled": "{{count}} skills enabled",
    "batchDisabled": "{{count}} skills disabled",
    "batchEditTags": "Tags ({{count}})",
    "batchTagsUpdated": "Tags updated for {{count}} skills",
    "batchTagsFailed": "{{count}} skills failed to update tags",
    "batchTagDialog": {
      "title": "Edit tags for {{count}} skills",
      "currentTags": "Current tags (click to remove)",
      "toAdd": "Add new tags",
      "noTags": "No tags on selected skills",
      "apply": "Apply",
      "addButton": "Add",
      "clickToRemove": "Click to mark for removal",
      "undoRemove": "Click to keep this tag"
    }
  },
  "install": {
    "title": "Install Skills",
    "browseMarket": "Leaderboard",
    "localInstall": "Local Install",
    "gitInstall": "Git Install",
    "hot": "Hot",
    "trending": "Trending",
    "all": "All Time",
    "searchMarket": "Search skills.sh market...",
    "marketMode": {
      "hot": "Viewing the hot leaderboard",
      "trending": "Viewing trending leaderboard",
      "alltime": "Viewing the all-time leaderboard",
      "search": "Searching for \"{{query}}\""
    },
    "filters": {
      "source": "Source",
      "allSources": "All sources",
      "filteredCount": "{{count}} loaded results"
    },
    "noResults": {
      "title": "No matching market skills",
      "description": "Try another keyword or clear the source filter."
    },
    "oneClickInstall": "Install",
    "viewOnWeb": "View on skills.sh",
    "pagination": {
      "summary": "Showing {{start}} - {{end}} of {{total}} skills",
      "page": "Page {{current}} of {{total}}",
      "previous": "Previous",
      "next": "Next"
    },
    "loadMoreSearch": "Load more results",
    "loadingMore": "Loading more...",
    "installing": "Installing...",
    "installed": "Installed",
    "cancel": "Cancel",
    "toast": {
      "cloning": "Cloning repository...",
      "installing": "Installing {{name}}...",
      "syncing": "Syncing to tools...",
      "success": "{{name}} installed successfully",
      "done": "Done",
      "cancelled": "Installation cancelled",
      "timeout": "Installation timed out — check your network",
      "view": "View"
    },
    "local": {
      "title": "Import a local skill source",
      "description": "Choose a folder that contains `SKILL.md`, or import a `.zip` or `.skill` package.",
      "selectFolder": "Select folder",
      "selectArchive": "Select archive or file",
      "batchImport": "Batch import from folder",
      "batchImporting": "Scanning for skills...",
      "batchProgress": "Importing {{current}}/{{total}}: {{name}}...",
      "batchSuccess": "Imported {{imported}} skill(s), skipped {{skipped}} already-imported",
      "batchAllSkipped": "All {{skipped}} skill(s) were already imported",
      "batchErrors": "{{count}} skill(s) failed to import"
    },
    "selectLocal": "Select local file...",
    "gitTitle": "Install from Git Repository",
    "gitDesc": "Enter a public or private Git repository URL. For private repos, ensure SSH keys are configured.",
    "repoUrl": "Repository URL",
    "repoUrlPlaceholder": "https://github.com/user/repo.git or git@github.com...",
    "gitAlreadyInstalled": "\"{{name}}\" is already installed. Reinstalling will update it.",
    "onlyThisContributor": "Only this contributor",
    "installClone": "Clone & Preview",
    "gitPreview": {
      "title": "Select Skills to Import",
      "description": "The following skills were found in the repository. Rename them if needed, then confirm.",
      "selectAll": "Select All",
      "deselectAll": "Deselect All",
      "namePlaceholder": "Skill name",
      "confirm": "Import Selected",
      "empty": "No importable skills found"
    },
    "scan": {
      "title": "Scan Local Skills",
      "initial": "Scan agent skill folders already present on this machine.",
      "summary": "Scanned {{tools}} tool folders and found {{skills}} importable skills.",
      "rescan": "Rescan",
      "scanning": "Scanning local skills...",
      "importAll": "Import All",
      "importOne": "Import",
      "imported": "Imported",
      "importedOne": "Imported {{name}}",
      "importedAll": "Imported all local skills",
      "rename": "Rename",
      "noResults": "No local skills found",
      "noResultsHint": "Everything may already be managed, or those tool folders do not contain skills yet.",
      "locations": "{{count}} locations",
      "listHint": "Existing local skills were found and can be imported directly into the central library.",
      "listImportedHint": "Everything in this scan is already in the central library.",
      "stats": {
        "detected": "Detected",
        "pending": "Pending",
        "imported": "Imported"
      }
    }
  },
  "settings": {
    "title": "Settings",
    "supportedAgents": "Supported Agents",
    "agentsSummary": "{{detected}} detected, {{enabled}} enabled, {{custom}} custom",
    "detectedAgents": "Detected",
    "enabledAgents": "Enabled",
    "customAgents": "Custom",
    "builtInAgents": "Built-in Agents",
    "moreAgentsSection": "More Agents ({{count}})",
    "customAgentsSection": "Custom Agents",
    "refresh": "Refresh",
    "notInstalled": "Not installed",
    "enabledState": "Enabled",
    "disabledState": "Detected but disabled",
    "enableAll": "Enable All",
    "disableAll": "Disable All",
    "enableAgent": "Enable this agent",
    "disableAgent": "Disable this agent",
    "editPath": "Edit path",
    "resetPath": "Reset to default",
    "dragToReorder": "Drag to reorder",
    "pathOverridden": "Custom path",
    "customAgent": "Custom",
    "addCustomAgent": "New Agent",
    "removeCustomAgent": "Remove custom agent",
    "removeCustomAgentConfirm": "Remove custom agent \"{{name}}\"? Synced skills will be unlinked.",
    "agentName": "Agent Name",
    "agentKey": "Agent Key",
    "skillsPath": "Skills Path",
    "agentNamePlaceholder": "My Agent",
    "agentKeyPlaceholder": "my_agent",
    "skillsPathPlaceholder": "/path/to/skills",
    "projectSkillsPath": "Project Workspace Skills Path",
    "projectSkillsPathPlaceholder": ".my-agent/skills",
    "projectSkillsPathDesc": "Optional. Set a path relative to the project root to make this custom agent available in project workspaces.",
    "projectSkillsPathValue": "Project path: {{path}}",
    "projectSkillsPathEmpty": "Project path: not set (click to edit)",
    "projectAgentSupported": "Project workspace supported",
    "pathSaved": "Agent path updated",
    "pathReset": "Agent path reset to default",
    "defaultPathHint": "Using the default skills path",
    "overridePathHint": "Using a manually overridden skills path",
    "customAgentAdded": "Custom agent added",
    "customAgentRemoved": "Custom agent removed",
    "selectFolder": "Select",
    "addAgent": "Add",
    "globalConfig": "Global Configuration",
    "repoPath": "Central Repository Path",
    "repoPathDesc": "Default storage location for all Skills and preset configs.",
    "repoPathSaved": "Central repository path updated",
    "repoPathReset": "Central repository path reset to default",
    "repoPathRestartNotice": "Restart the app to apply the new path and migrate existing data.",
    "repoPathEmpty": "Enter a central repository path first",
    "repoPathDefaultHint": "Using the default central repository path",
    "repoPathCustomHint": "Using a custom central repository path",
    "changeDir": "Change Directory",
    "openInFinder": "Open Folder",
    "syncMode": "Default Sync Mode",
    "syncModeDesc": "Symlinks are recommended — minimal disk usage with live updates.",
    "symlink": "Symlink",
    "copy": "File Copy",
    "currentPreset": "Current Preset",
    "currentPresetDesc": "Switch the app to another preset and refresh active skills immediately.",
    "defaultPreset": "Default Startup Preset",
    "defaultPresetDesc": "Preset loaded automatically on app launch.",
    "theme": "Theme",
    "themeDesc": "Choose the app appearance.",
    "themeLight": "Light",
    "themeDark": "Dark",
    "themeSystem": "System",
    "textSize": "Text Size",
    "textSizeDesc": "Adjust the app's base font size.",
    "textSizeSmall": "Small",
    "textSizeDefault": "Default",
    "textSizeLarge": "Large",
    "textSizeXLarge": "Extra Large",
    "language": "Language",
    "help": "Help",
    "about": "About",
    "version": "Skills Manager 1.21.0",
    "tagline": "Cross-platform. Minimal, efficient, seamless multi-preset switching.",
    "checkUpdate": "Check for Updates",
    "checking": "Checking…",
    "updateAvailable": "New version {{version}} available!",
    "noUpdate": "You're on the latest version.",
    "download": "Download",
    "installUpdate": "Install Update",
    "installing": "Installing…",
    "restartToApply": "Update installed. Restart the app to apply.",
    "updateError": "Auto-update failed. Opening download page…",
    "reportIssue": "Report Issue",
    "reportIssueHint": "Copy app/OS info and recent log excerpt to clipboard and open a new GitHub issue",
    "reportIssueExportHint": "If the issue is complex, click 'Export Logs' in Settings → About and attach the zip to this issue.",
    "diagnosticsCopied": "Diagnostic info copied. Paste it into the GitHub issue.",
    "diagnosticsCopyManual": "Could not access clipboard — please copy the info below manually:",
    "exportLogs": "Export Logs",
    "exportLogsHint": "Bundle recent logs and activity history as a zip in your Downloads folder",
    "exportLogsDone": "Logs exported ({{count}} file(s)). Drag the zip into your GitHub issue.",
    "exportLogsFailed": "Failed to export logs.",
    "panicBanner": "Skills Manager crashed during the last session ({{time}}).",
    "panicDismiss": "Dismiss",
    "gitBackup": "Git Sync",
    "gitBackupDesc": "Back up your skill library to a Git repository for version control and multi-machine sync.",
    "proxyConfig": "Network Proxy",
    "proxyUrl": "Proxy URL",
    "proxyUrlDesc": "All Git clones and network requests will route through this proxy. Leave blank to connect directly.",
    "proxyUrlPlaceholder": "http://127.0.0.1:7890",
    "proxyUrlSaved": "Proxy settings saved",
    "proxyUrlInvalid": "Proxy URL must start with http://, https://, or socks5://",
    "gitSyncConfig": "Git Sync Configuration",
    "gitSyncConfigDesc": "This page stores remote repository preferences only. Initialize and run sync from the My Skills page.",
    "gitConfigSaved": "Git sync configuration saved",
    "gitStartBackup": "Set Up Backup",
    "gitStartHint": "If Remote URL is filled, it will clone from remote; otherwise it initializes a local repository.",
    "gitSetupTitle": "Set Up Git Backup",
    "gitSetupSubtitle": "Choose how this skill library connects to a backup.",
    "gitSetupCardCloneTitle": "Use existing remote backup",
    "gitSetupCardCloneDesc": "Clone from the configured remote. Local skills are preserved and non-conflicting items are merged back.",
    "gitSetupCardCloneBadge": "Recommended: 2nd machine and beyond",
    "gitSetupCardInitTitle": "Back up this machine as new",
    "gitSetupCardInitDesc": "Initialize Git locally and push the current skill library to the configured remote.",
    "gitSetupCardInitBadge": "First time: when remote is empty",
    "gitSetupNeedRemote": "Set a remote URL in Settings → Git Sync first.",
    "gitSetupConfirm": "Continue",
    "gitRecoveryTitle": "Fix Sync Setup",
    "gitRecoverySubtitleUnrelated": "Local repository and remote do not share history; sync cannot proceed. Pick how to fix it.",
    "gitRecoverySubtitleNoUpstream": "No upstream tracking is set up with the remote. Pick how to fix it.",
    "gitRecoverySubtitleDetached": "Currently in detached HEAD state, possibly after restoring a snapshot. Realign to remote or restore a different snapshot first.",
    "gitRecoveryCardRecloneTitle": "Use remote backup (recommended)",
    "gitRecoveryCardRecloneDesc": "Keep a temporary copy of local skills, re-clone from remote, then merge non-conflicting items back. Safest option.",
    "gitRecoveryCardKeepLocalTitle": "Keep local, set up tracking",
    "gitRecoveryCardKeepLocalDesc": "Try to push local content as the new remote head. Only use when remote is empty or local should overwrite remote.",
    "gitRecoveryRecloneSuccess": "Remote backup re-cloned",
    "gitRecoveryRecloning": "Re-cloning…",
    "gitRecoveryFallbackHint": "\"Keep local\" currently requires terminal action. See docs or contact the developer.",
    "gitNotInitialized": "Not initialized",
    "gitInitRepo": "Initialize Git Repo",
    "gitInitializing": "Initializing…",
    "gitInitSuccess": "Git repository initialized",
    "gitRemoteUrl": "Remote URL",
    "gitRemoteUrlPlaceholder": "git@github.com:user/my-skills.git",
    "gitSetRemote": "Set Remote",
    "gitRemoteSet": "Remote URL updated",
    "gitCommitAndPush": "Commit & Push",
    "gitPushing": "Pushing…",
    "gitPushSuccess": "Changes pushed to remote",
    "gitSyncNow": "Sync Now",
    "gitSyncing": "Syncing…",
    "gitSyncSuccess": "Sync completed",
    "gitPull": "Pull",
    "gitPulling": "Pulling…",
    "gitPullSuccess": "Pulled latest changes",
    "gitCloneFrom": "Clone from Remote",
    "gitCloning": "Cloning…",
    "gitCloneSuccess": "Cloned remote repository",
    "gitNoChanges": "No uncommitted changes",
    "gitHasChanges": "Uncommitted changes",
    "gitAhead": "{{count}} ahead",
    "gitBehind": "{{count}} behind",
    "gitUpToDate": "Up to date",
    "gitLastCommit": "Last commit",
    "gitBranch": "Branch",
    "gitCommitMessage": "Commit message",
    "gitCommitPlaceholder": "backup: sync skills library",
    "gitNoRemote": "No remote configured",
    "gitNeedRemoteSetup": "Set a remote repository URL in Settings first",
    "gitNeedPullFirst": "Remote has newer changes. Pull first to avoid conflicts.",
    "gitPendingSync": "Local changes are ready to sync",
    "gitErrorAuth": "Authentication failed. Check SSH key or access token.",
    "gitErrorNetwork": "Network connection failed. Check your network and remote URL.",
    "gitErrorConflict": "Sync conflict detected. Pull and resolve conflicts first.",
    "gitErrorNotRepo": "Git repository not found. Set up backup first.",
    "gitErrorRejected": "Remote has new updates. Pull and merge them before syncing.",
    "gitErrorUnrelatedHistories": "Local and remote do not share history. Open Fix Sync Setup to resolve.",
    "gitErrorNoUpstream": "No upstream tracking is set up. Open Fix Sync Setup to resolve.",
    "gitErrorGeneric": "Git operation failed. Check remote URL in Settings and try again.",
    "closeAction": "Close Behavior",
    "closeActionDesc": "Choose what happens when you click the window close button.",
    "closeAction_ask": "Ask each time",
    "closeAction_hide": "Minimize to tray",
    "closeAction_close": "Quit app",
    "trayIcon": "Tray Icon",
    "trayIconDesc": "Show an icon in the system tray for quick Show and Quit actions.",
    "trayIcon_on": "Show",
    "trayIcon_off": "Hide",
    "trayIconOffHint": "Tray icon is hidden, so closing the window will quit the app."
  },
  "closeAction": {
    "title": "Close behavior",
    "message": "Minimize to tray keeps the app running in the background and lets you reopen it from the tray icon.",
    "close": "Quit app",
    "hide": "Minimize to tray",
    "remember": "Remember my choice for next time"
  },
  "common": {
    "loading": "Loading...",
    "error": "Something went wrong",
    "requestFailed": "Request failed",
    "retry": "Retry",
    "loadFailed": "Failed to load {{item}}",
    "dataOutOfDate": "Some data could not be refreshed",
    "documentMissing": "No document file was found",
    "presets": "presets",
    "agents": "agent status",
    "skills": "skill list",
    "success": "Operation successful",
    "cancel": "Cancel",
    "confirm": "Confirm",
    "delete": "Delete",
    "rename": "Rename",
    "save": "Save",
    "create": "Create",
    "search": "Search",
    "goToSettings": "Settings",
    "expandAll": "Show all",
    "collapse": "Collapse"
  },
  "addFromLibrary": {
    "title": "Add from Library",
    "targetLabel": "Target:",
    "noTargetSelected": "no target",
    "changeTarget": "Change target",
    "selectAllTargets": "Select all",
    "clearTargets": "Clear",
    "searchPlaceholder": "Search the library…",
    "emptyLibrary": "Your library is empty",
    "emptyMatch": "No skills match",
    "ctaEmpty": "Pick skills to add to {{agent}}",
    "ctaEmptyProject": "Pick skills to add ({{count}} agents)",
    "ctaGlobal": "Add {{count}} to {{agent}}",
    "ctaProject": "Add {{count}} · {{agentCount}} agents",
    "ctaNoTarget": "Select target agents first",
    "toastInstalled": "{{count}} skill(s) added",
    "toastFailed": "{{count}} skill(s) failed to add",
    "toastAddedToProject": "Added \"{{skill}}\" to {{project}}",
    "toastRemovedFromProject": "Removed \"{{skill}}\" from {{project}}",
    "add": "Add",
    "installedShort": "Added",
    "projectsTitle": "Project Workspaces",
    "projectsSummary": "{{installed}} / {{total}} installed",
    "errors": {
      "noTarget": "Select at least one target agent"
    },
    "status": {
      "installed": "Installed",
      "conflict": "Name conflict",
      "unavailable": "No target"
    },
    "tooltip": {
      "installed": "Already in the workspace",
      "remove": "Click to remove from this agent",
      "conflict": "Rename the skill in your library first",
      "unavailable": "Select a target agent first"
    }
  },
  "preset": {
    "create": "New Preset",
    "name": "Preset Name",
    "description": "Description (optional)",
    "icon": "Preset Icon",
    "namePlaceholder": "Enter preset name...",
    "descPlaceholder": "Briefly describe this preset...",
    "deleteConfirm": "Delete preset \"{{name}}\"? Skills will remain in the central repo.",
    "renamed": "Preset renamed",
    "deleted": "Preset deleted",
    "created": "Preset created",
    "switched": "Switched to \"{{name}}\""
  },
  "project": {
    "title": "Project Skills",
    "path": "Project Path",
    "workspaceHint": "Manage local agent skills in this repository and sync them with the Skills Center.",
    "linkedWorkspaceHint": "Manage skills in this linked external workspace without turning it into a global sync target.",
    "skills": "Skills",
    "noSkills": "No skills in this project",
    "noSkillsHint": "No agent skills directories found. Create a skills directory (e.g. .claude/skills/) and add skill folders.",
    "addManual": "Select Repository Directory",
    "scanDir": "Scan Directory",
    "scanDirPlaceholder": "Enter root directory to scan, e.g. ~/Work",
    "scanResult": "Found {{count}} projects",
    "scanNoResult": "No projects with agent skills directories found",
    "scanning": "Scanning...",
    "removeConfirm": "Remove project \"{{name}}\" from the list? Project files will not be deleted.",
    "added": "Project added",
    "workspaceAdded": "Workspace added",
    "removed": "Project removed",
    "notFound": "Project not found",
    "alreadyExists": "Already exists",
    "invalidDir": "Directory does not contain any agent skills",
    "addProjectTitle": "Link Project Workspace",
    "tabManual": "Manual",
    "tabScan": "Scan",
    "tabLinked": "Linked Workspace",
    "addLinkedHint": "Link an external skills root. It will be managed as a workspace only and will not participate in global preset sync.",
    "linkedNamePlaceholder": "Workspace name",
    "linkedPathPlaceholder": "Skills directory path",
    "linkedDisabledPathHint": "A sibling directory with the \"-disabled\" suffix will be created automatically for disabled skills.",
    "selectSkillsDir": "Select skills directory",
    "addLinkedWorkspace": "Link Workspace",
    "addSelected": "Add Selected ({{count}})",
    "selectAll": "Select All",
    "deselectAll": "Deselect All",
    "openInFinder": "Open Directory",
    "skillFiles": "Files",
    "importToCenter": "Update Center",
    "importFromCenter": "Add Skill",
    "addSkill": "Add Skill",
    "addSkillsCta": "Add Skills from Library",
    "addSkillsToProject": "Add Skills to Project",
    "addCallout": "You can also add multiple skills at once — filter by tag in the Add Skills dialog.",
    "exportTagFilterLabel": "Filter by tag:",
    "exportTagFilterHint": "Pick one or more tags to bulk-add related skills (e.g. \"frontend\" + \"debug\").",
    "updateCenter": "Update Center",
    "updateProject": "Update Project",
    "importToCenterSuccess": "\"{{name}}\" updated to Skills Center",
    "importFromCenterSuccess": "\"{{name}}\" added to {{count}} project agents",
    "updateCenterSuccess": "\"{{name}}\" updated to Skills Center",
    "updateProjectSuccess": "\"{{name}}\" updated to project",
    "resetFromCenter": "Restore center version",
    "resetFromCenterSuccess": "\"{{name}}\" restored to center version",
    "alreadyInCenter": "In Center",
    "syncStatus": {
      "projectOnly": "Project only",
      "inSync": "In sync",
      "projectNewer": "Project newer",
      "centerNewer": "Center newer",
      "diverged": "Diverged"
    },
    "exportToProject": "Export to Project",
    "enableSkill": "Enable",
    "disableSkill": "Disable",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "skillEnabled": "\"{{name}}\" enabled",
    "skillDisabled": "\"{{name}}\" disabled",
    "searchPlaceholder": "Search skills in this project...",
    "filters": {
      "all": "All",
      "enabled": "Enabled",
      "disabled": "Disabled"
    },
    "docTabs": {
      "center": "Center"
    },
    "selectSkillToExport": "Select a skill to add to this project",
    "searchCenterSkills": "Search skills in the central library...",
    "targetAgent": "Target agent",
    "targetAgents": "Target agents",
    "selectTargetAgents": "Select at least one target agent",
    "agentPickerHint": "Enabled agents are shown first; others stay collapsed",
    "saveDefaultAgents": "Save as default",
    "defaultAgentsSaved": "Default agent selection saved",
    "selectedAgentCount": "{{count}} agents selected",
    "enabledAgents": "Enabled agents",
    "moreAgents": "More agents ({{count}})",
    "customAssignment": "{{assigned}} / {{total}} agents",
    "agentAdded": "\"{{name}}\" added to {{agent}}",
    "agentRemoved": "\"{{name}}\" removed from {{agent}}",
    "agentClickAdd": "Click to add",
    "agentClickRemove": "Click to remove",
    "agentAddRequiresCenter": "{{agent}} can only be added after this skill is synced to the Skills Center",
    "noSkillsToExport": "No skills available to add to this project",
    "import": "Add",
    "updateSelected": "Add {{count}}",
    "batchSelectMode": "Batch select",
    "cancelBatchSelect": "Cancel batch",
    "addSelectedSkills": "Add selected ({{count}})",
    "batchImported": "Added {{count}} skill(s) to this project",
    "batchImportFailed": "{{count}} skills failed to add",
    "deleteSkill": "Delete skill",
    "deleteSkillConfirm": "Permanently delete skill \"{{name}}\"? This action cannot be undone.",
    "skillDeleted": "\"{{name}}\" deleted",
    "selectMode": "Select",
    "cancelSelect": "Exit Select",
    "selectedCount": "{{count}} selected",
    "selectHint": "Click skills to select",
    "deleteSelected": "Delete {{count}}",
    "batchDeleteConfirm": "Permanently delete {{count}} selected skills? This action cannot be undone.",
    "batchDeleted": "{{count}} skills deleted",
    "batchDeleteFailed": "{{count}} skills failed to delete",
    "batchEnable": "Enable {{count}}",
    "batchDisable": "Disable {{count}}",
    "batchEnabled": "{{count}} skills enabled",
    "batchDisabled": "{{count}} skills disabled",
    "batchToggleFailed": "{{count}} skills failed to update",
    "batchUpdateCenter": "Update Center ({{count}})",
    "batchUpdateProject": "Update Project ({{count}})",
    "batchUpdatedCenter": "{{count}} skills updated to Skills Center",
    "batchUpdatedProject": "{{count}} skills updated in project",
    "batchUpdateCenterFailed": "{{count}} skills failed to update to Skills Center",
    "batchUpdateProjectFailed": "{{count}} skills failed to update in project",
    "skillDirectoryNotFound": "Skill directory not found",
    "batchEditTags": "Tags ({{count}})",
    "batchTagsUpdated": "Tags updated for {{count}} center skills",
    "batchTagsFailed": "{{count}} center skills failed to update tags"
  },
  "presetActions": {
    "button": "Apply Preset",
    "applyToProject": "Apply Preset to This Project",
    "applyToGlobal": "Apply Preset to Global Workspace",
    "preset": "Preset",
    "action": "Action",
    "addMissing": "Add missing skills",
    "removeMatching": "Remove matching skills",
    "agents": "Agents",
    "selectAgents": "Select at least one agent",
    "noPresets": "No presets available",
    "noPresetSkills": "This preset has no skills",
    "addHelp": "Adds missing skills only. Existing skills are skipped.",
    "removeHelp": "Removes selected matching skills from the selected agents only.",
    "addSummary": "{{count}} skill-agent additions ready; {{skipped}} existing will be skipped.",
    "removeSummary": "{{count}} installed skill-agent matches selected.",
    "willAddToAgents": "Add to {{count}} agent(s)",
    "alreadyInSelectedAgents": "Already in selected agents",
    "installedInAgents": "Installed in {{count}} agent(s)",
    "notInstalled": "Not installed",
    "addButton": "Add missing ({{count}})",
    "removeButton": "Remove selected ({{count}})",
    "addedToast": "Added {{added}} skill-agent item(s), skipped {{skipped}} existing.",
    "removedToast": "Removed {{removed}} skill-agent item(s).",
    "partialFailedToast": "{{count}} operation(s) failed",
    "nothingToAdd": "No missing skills to add",
    "nothingToRemove": "No matching skills to remove",
    "statusActive": "Active",
    "statusPartial": "{{installed}} / {{total}}",
    "statusInactive": "Not added",
    "activate": "Activate",
    "deactivate": "Deactivate"
  },
  "presetBar": {
    "shiftClickHint": "{{name}} · Shift+click to toggle",
    "skillCount": "{{count}} skills",
    "deactivateConfirm": "Remove all {{count}} installed skills from \"{{name}}\"?"
  },
  "globalWorkspace": {
    "title": "Global Workspace",
    "allAgents": "All Agents",
    "subtitle": "Skills installed globally for each agent",
    "skillCount": "{{count}} skills",
    "addSkill": "Add Skill",
    "removeSkill": "Remove",
    "noAgents": "No agents installed",
    "noAgentsHint": "Configure agent paths in Settings to get started.",
    "noSkillsForAgent": "No skills installed. Click Add Skill to install from the library.",
    "addSkillDialogTitle": "Add Skills to {{agent}}",
    "addSkillSearch": "Search skills in the library...",
    "allInstalled": "All library skills are already installed for this agent",
    "noSkillsMatch": "No skills match the search",
    "addButton": "Add {{count}} skills",
    "addedToast": "Added {{count}} skills",
    "removedToast": "Removed {{name}}",
    "selectMode": "Select",
    "cancelSelect": "Cancel selection",
    "selectHint": "Click skills to select",
    "selectedCount": "{{count}} selected",
    "selectAll": "Select All",
    "deselectAll": "Deselect All",
    "deleteSelected": "Remove {{count}}",
    "batchRemoveConfirm": "Remove {{count}} selected skills from {{agent}}? This only unlinks them from the global workspace; central library files are kept.",
    "batchRemoved": "{{count}} skills removed",
    "batchRemoveFailed": "{{count}} skills failed to remove",
    "localSkills": {
      "searchPlaceholder": "Search agent skills...",
      "empty": "No local skills found",
      "summary": "{{total}} / {{managed}} managed / {{synced}} in sync",
      "upload": "Upload",
      "pull": "Pull",
      "removeManaged": "Remove from agent",
      "deleteLocal": "Delete local skill",
      "deleteLocalConfirmTitle": "Delete local skill?",
      "deleteLocalConfirmMessage": "Delete \"{{name}}\" from {{agent}}? This removes the local files and cannot be undone.",
      "deletedLocalToast": "Deleted \"{{name}}\" from {{agent}}.",
      "uploadedToast": "Uploaded \"{{name}}\" to Skills Center. It was not synced back to {{agent}}.",
      "pulledToast": "Updated \"{{name}}\" from Skills Center in {{agent}}.",
      "uploadConfirmTitle": "Update center skill?",
      "uploadConfirmMessage": "Upload \"{{name}}\" to the matching Skills Center entry? This replaces the center copy.",
      "pullConfirmTitle": "Overwrite local skill?",
      "pullConfirmMessage": "Pull the Skills Center version of \"{{name}}\" into {{agent}}? This overwrites the local agent copy.",
      "status": {
        "localOnly": "Local only",
        "inSync": "In sync",
        "localNewer": "Local changed",
        "centerNewer": "Center changed",
        "diverged": "Conflict"
      }
    }
  }
}
