{
  "settings": {
    "title": "Settings",
    "retry": "Retry",
    "restore": "Restore defaults",
    "reload": "Reload",
    "keyScope": "Scope",
    "scopeDescription": "Current scope: {{scope}}. Each scope has its own keys, and the list shows only what this scope can bind.",
    "system": "Follow system",
    "loading": "Loading settings…",
    "saving": "Saving settings…",
    "unavailable": "Settings persistence is unavailable",
    "readFailed": "Cannot load settings: {{error}}. Fix the file, then retry with s.",
    "saveFailed": "Not saved: {{error}}. Your change is kept — press s to retry.",
    "applyFailed": "Saved to disk, but application failed: {{error}}. Reopen the panel to apply.",
    "settingApplied": "{{setting}} set to: {{value}}",
    "keyApplied": "Key binding for {{action}} ({{scope}}) set to: {{value}}",
    "savedWarning": "Saved with a warning: {{warning}}",
    "unsaved": "{{count}} unsaved",
    "unsavedTitle": "Settings were not saved",
    "continue": "Continue editing",
    "retryExit": "Retry and exit",
    "discardExit": "Discard the change and exit",
    "discardConfirm": "Discard the unsaved change?",
    "restoreConfirm": "Restore General defaults?",
    "restoreLayoutConfirm": "Restore Layout defaults?",
    "restoreScopeConfirm": "Restore default key bindings for {{scope}}?",
    "restoreThemeConfirm": "Give up on the failed theme switch?",
    "reloadConfirm": "Discard the unsaved change and reload settings?",
    "category": {
      "general": "General",
      "layout": "Layout",
      "keybindings": "Keybindings",
      "theme": "Theme"
    },
    "locale": "Interface language",
    "language": { "en": "English", "zh": "Simplified Chinese" },
    "defaultScope": "Default session scope",
    "defaultSort": "Default sort order",
    "scope": { "current-folder": "Current folder", "all": "All folders" },
    "sort": { "recent": "Recently updated", "created": "Creation time", "title": "Title", "threaded": "Fork relationships" },
    "leftWidth": "Left column width",
    "widthDescription": "SESSIONS and TREE share this width. Range: 15–60%, default: 25%.",
    "widthRange": "Range {{min}}–{{max}}%",
    "widthStep": "±1%",
    "widthInvalid": "Enter a number between {{min}} and {{max}}",
    "unbound": "No local binding",
    "key": {
      "add": "Add key…",
      "addTitle": "Add key",
      "save": "add",
      "press": "Press a key…",
      "undo": "undo",
      "remove": "Remove: {{key}}",
      "unbind": "Unbind (no key)",
      "reset": "Reset to default"
    },
    "keyConflict": {
      "title": "\"{{key}}\" cannot fire: {{action}} takes it first",
      "take": "Take it from {{action}}",
      "cancel": "Cancel this edit",
      "stolen": "\"{{key}}\" now goes to {{action}}; {{other}} no longer fires on it"
    },
    "layerDescription": "Current scope: {{scope}}. The list shows only the keys this scope binds itself; other scopes may bind the same action. Inheritance, priority and disabled actions also decide what fires.",
    "noBindings": "No bindings in this scope",
    "themeUnavailable": "Cannot read pi's themes",
    "themeEmpty": "No themes found. Add a JSON theme to pi's themes directory and reload.",
    "themePendingDescription": "Switching to {{name}} failed. Press s to retry.",
    "themeActive": "{{name}} (active)",
    "themeApplied": "Theme set to: {{name}}",
    "themeApplyFailed": "Cannot switch theme: {{error}}",
    "switchRegion": "switch region",
    "scrollDetails": "scroll details"
  },
  "alert": {
    "cannotDeleteActive": "Can't delete the active session",
    "ok": "OK"
  },
  "command": {
    "description": "Open the lazygit-style session panel (sessions / tree / content)"
  },
  "mode": {
    "normal": "NORMAL",
    "search": "SEARCH",
    "label": "LABEL",
    "restore": "RESTORE",
    "tree": "TREE",
    "tree-filter": "FILTER",
    "confirm": "CONFIRM",
    "rename": "RENAME",
    "info": "INFO",
    "usage": "USAGE",
    "new": "NEW",
    "fork": "FORK",
    "clone": "CLONE",
    "export": "EXPORT",
    "import": "IMPORT",
    "share": "SHARE",
    "changelog": "CHANGELOG",
    "settings": "SETTINGS",
    "compact": "COMPACT",
    "visual": "VISUAL",
    "preview": "PREVIEW"
  },
  "pane": {
    "sessionsTitle": "SESSIONS",
    "treeTitle": "TREE",
    "contentTitle": "CONTENT",
    "sessionsEmpty": "No sessions",
    "sessionsEmptyCurrent": "No sessions · press {{key}} to see all folders",
    "archivedSessionsTitle": "ARCHIVED",
    "treeEmpty": "No entries",
    "contentEmpty": "No messages",
    "emptySession": "(empty session)",
    "msgs": "{{count}} msgs",
    "current": "(current)",
    "selected": "{{count}} selected",
    "pinnedGroup": "PINNED",
    "othersGroup": "OTHERS",
    "messages": "{{count}} messages",
    "selectSession": "Select a session",
    "loading": "Loading…",
    "nothingToShow": "Nothing to show",
    "you": "YOU",
    "assistant": "ASSISTANT"
  },
  "role": {
    "user": "user",
    "assistant": "assistant",
    "tool": "tool",
    "system": "system"
  },
  "scope": {
    "currentLong": "Current",
    "currentShort": "Cur",
    "allLong": "All",
    "allShort": "All"
  },
  "sort": {
    "recent": "recent",
    "created": "created",
    "title": "title",
    "threaded": "threaded"
  },
  "filter": {
    "default": "default",
    "no-tools": "no-tools",
    "user-only": "user-only",
    "labeled": "labeled",
    "all": "all"
  },
  "action": {
    "focus-next": "Focus next pane",
    "focus-prev": "Focus previous pane",
    "focus-sessions": "Focus sessions pane",
    "focus-tree": "Focus tree pane",
    "focus-content": "Focus content pane",
    "scope-current": "Scope: Current folder",
    "scope-all": "Scope: All",
    "help": "Toggle this help",
    "quit": "Quit the panel",
    "search": "Search in the focused pane",
    "search-next": "Next search match",
    "search-prev": "Previous search match",
    "settings-open": "Open plugin settings",
    "changelog": "Show pi's changelog (/changelog)",
    "move-down": "Move cursor down",
    "move-up": "Move cursor up",
    "go-top": "Go to top",
    "go-bottom": "Go to bottom",
    "scroll-content-down": "Scroll content pane down",
    "scroll-content-up": "Scroll content pane up",
    "session-resume": "Resume session",
    "session-delete": "Delete session(s)",
    "session-rename": "Rename session",
    "session-fork": "Fork session and open the fork",
    "session-toggle-select": "Toggle multi-select",
    "session-pin": "Pin / unpin session (unarchive first; pinned stay on top)",
    "session-archive": "Archive",
    "session-archive-view": "Switch between normal and archived sessions (keeps C/A scope)",
    "session-export": "Export to HTML / JSONL",
    "session-import": "Import from JSONL",
    "session-share": "Share session (GitHub Gist or Radius)",
    "session-clone": "Clone active branch to a new session",
    "session-copy-last-reply": "Copy last assistant reply",
    "session-compact": "Compact this conversation and open it (/compact)",
    "session-sort": "Cycle sort: recent / created / title / threaded",
    "session-new": "New session",
    "session-info": "Session info",
    "session-context-usage": "Context usage details",
    "tree-restore": "Restore conversation to this node (asks about a branch summary)",
    "tree-copy": "Copy node text",
    "tree-label": "Add / edit label",
    "tree-toggle-label-time": "Show / hide label timestamps",
    "tree-open": "Open the full tree dialog (keeps the current filter)",
    "tree-filter-menu": "Choose a tree filter (shared with the full tree dialog)",
    "tree-fold": "Fold / unfold the branch under the cursor (inside a branch: fold it and jump to its head)",
    "tree-filter-default": "Filter: default (hide bookkeeping entries)",
    "tree-filter-no-tools": "Filter: also hide tool results (toggle)",
    "tree-filter-user": "Filter: user messages only (toggle)",
    "tree-filter-labeled": "Filter: labeled entries only (toggle)",
    "tree-filter-all": "Filter: show everything (toggle)",
    "tree-dialog-close": "Close the tree dialog",
    "content-center": "Center the selected message in the pane",
    "content-copy": "Copy the selected message text"
  },
  "scopeTitle": {
    "global": "Global",
    "sessions": "Sessions pane",
    "tree": "Tree pane",
    "content": "Content pane",
    "tree-dialog": "Tree dialog"
  },
  "help": {
    "currentPane": "Current pane",
    "moreAbove": "↑ More above",
    "moreBelow": "↓ More below",
    "titlePrefix": "HELP",
    "run": "run"
  },
  "footer": {
    "search": "Search",
    "help": "Help",
    "focus-next": "Focus",
    "scope-current": "Current",
    "scope-all": "All",
    "quit": "Quit",
    "session-resume": "Resume",
    "session-delete": "Delete",
    "session-rename": "Rename",
    "session-new": "New",
    "session-fork": "Fork",
    "session-clone": "Clone",
    "session-copy-last-reply": "Copy reply",
    "session-export": "Export",
    "session-import": "Import",
    "session-share": "Share",
    "session-sort": "Sort",
    "session-info": "Info",
    "session-compact": "Compact",
    "tree-restore": "Restore",
    "tree-open": "Tree",
    "tree-filter-menu": "Filter",
    "tree-fold": "Fold",
    "tree-label": "Label",
    "tree-copy": "Copy",
    "go-top": "Top",
    "go-bottom": "Bottom",
    "changelog": "Changelog"
  },
  "treeHint": {
    "search": "search",
    "move-down": "move",
    "tree-restore": "restore",
    "tree-fold": "fold",
    "tree-copy": "copy",
    "tree-label": "label",
    "tree-toggle-label-time": "label time",
    "tree-filter-default": "filter",
    "tree-dialog-close": "close"
  },
  "hint": {
    "viewArchive": "{{key}} view archive",
    "normalSessions": "Back to sessions",
    "unarchive": "Unarchive",
    "save": "save",
    "cancel": "cancel",
    "searchConfirm": "search",
    "compact": "compact",
    "compactDefault": "empty field uses the default compaction",
    "removes": "empty field clears it",
    "folderKey": "folder",
    "move": "move",
    "select": "select",
    "back": "back",
    "summarize": "summarize",
    "export": "export",
    "import": "import",
    "create": "create",
    "noName": "empty field leaves it unnamed",
    "defaultInside": "default name inside",
    "choose": "choose",
    "confirm": "confirm",
    "copy": "copy",
    "close": "close",
    "scroll": "scroll",
    "page": "page",
    "topBottom": "top/bottom",
    "backToList": "back to the list",
    "preview": "preview"
  },
  "dialog": {
    "labelTitle": "Label",
    "renameTitle": "Rename",
    "newTitle": "New session",
    "importTitle": "Import session",
    "importSubject": "Enter the .jsonl path",
    "sessionInfoTitle": "Session Info",
    "contextUsageTitle": "Context Usage",
    "changelogTitle": "What's New",
    "changelogLoading": "Loading changelog…",
    "compactTitle": "Compact",
    "treeTitle": "TREE",
    "treeNoMatches": "No matches.",
    "treeFilterTitle": "Tree filter",
    "treeFilterDefault": "Default (hide bookkeeping)",
    "treeFilterNoTools": "Hide tool results and bookkeeping",
    "treeFilterUser": "User messages only",
    "treeFilterLabeled": "Labeled entries only",
    "treeFilterAll": "All entries",
    "toSearch": "{{key}} to search",
    "exportFormatTitle": "Export as",
    "exportPathTitle": "Export to",
    "exportPathSubject": "Enter the export path",
    "exportHtml": "HTML   whole tree, opens in a browser",
    "exportJsonl": "JSONL  active branch, can be imported again",
    "shareTitle": "Share session",
    "shareAuto": "Auto (Gist first)",
    "shareGist": "GitHub Gist",
    "shareRadius": "Radius",
    "radiusAccountTitle": "Radius",
    "radiusAccountShare": "Share to Radius",
    "radiusAccountSignOut": "Sign out of Radius",
    "radiusLoginTitle": "Radius sign-in",
    "radiusApiKeyTitle": "Radius API key",
    "radiusLoginAccount": "Sign in with an account",
    "radiusLoginApiKey": "Sign in with an API key",
    "radiusLoginMethodTitle": "Choose how to sign in to Radius",
    "radiusLoginBrowser": "Sign in with browser",
    "radiusLoginDeviceCode": "Sign in with device code",
    "radiusDeviceTitle": "Sign in on another device",
    "radiusDeviceCode": "Enter code {{code}}",
    "restoreMenuTitle": "Summarize branch?",
    "restoreNone": "No summary",
    "restoreSummarize": "Summarize",
    "restoreCustom": "Summarize with custom prompt",
    "restoreCustomTitle": "Custom summarization instructions",
    "forkTitle": "Fork before which message?",
    "promptDetailTitle": "Prompt · {{category}}"
  },
  "confirm": {
    "yes": "Yes",
    "no": "No",
    "delete": "Delete session?",
    "deleteN_one": "Delete {{count}} session?",
    "deleteN_other": "Delete {{count}} sessions?",
    "deleteSkipped": "current session skipped",
    "clone": "Clone session?",
    "fork": "Fork session?",
    "import": "Import and switch to it?",
    "overwrite": "Overwrite file?",
    "radiusSignOut": "Sign out of Radius?"
  },
  "info": {
    "name": "Name",
    "model": "Model",
    "messages": "Messages",
    "tokens": "Tokens",
    "cost": "Cost",
    "created": "Created",
    "updated": "Updated",
    "path": "Session path",
    "directory": "Directory",
    "id": "ID",
    "source": "Source",
    "none": "(none)",
    "unknown": "(unknown)"
  },
  "search": {
    "label": "Search: ",
    "matches": "{{position}}/{{total}} matches",
    "total": "{{total}} matches",
    "none": "no matches"
  },
  "usage": {
    "usedOfWindow": "{{used}} / {{window}} · {{percent}}",
    "usedNoWindow": "{{used}} used · context window unknown",
    "autoCompactAt": "auto-compact at {{percent}}",
    "autoCompactLeft": "auto-compact at {{percent}} (~{{left}} left)",
    "systemPrompt": "System prompt",
    "memory": "Memory",
    "skills": "Skills",
    "tools": "Tools definition",
    "toolResults": "Tool results",
    "context": "Context",
    "other": "Other",
    "freeSpace": "Free space",
    "model": "Model",
    "messages": "Messages",
    "cost": "Cost so far",
    "emptyPrompt": "No prompt content in this category.",
    "previewImage": "[Image payload omitted from text preview]",
    "previewToolCall": "Assistant tool call: {{name}}",
    "previewAssistant": "Assistant",
    "previewThinking": "Assistant thinking",
    "previewCommand": "Command",
    "previewOutput": "Output",
    "previewSummary": "Summary",
    "previewUser": "User"
  },
  "enter": {
    "resume": "resume",
    "restore": "restore",
    "new": "new",
    "fork": "fork",
    "clone": "clone",
    "import": "import",
    "rename": "rename",
    "export": "export",
    "share": "share",
    "compact": "compact"
  },
  "notify": {
    "tuiOnly": "/{{command}} is only available in TUI mode"
  },
  "status": {
    "archiveUnavailable": "archive: actions unavailable",
    "archiveFailed": "archive failed: {{error}}",
    "sessionsArchived_one": "session archived · {{hint}}",
    "sessionsArchived_other": "{{count}} sessions archived · {{hint}}",
    "sessionsUnarchived_one": "session unarchived",
    "sessionsUnarchived_other": "{{count}} sessions unarchived",
    "currentSessionArchived": "current session is archived · {{hint}}",
    "unarchiveBeforePin": "unarchive this session before pinning it",
    "savingSessionState": "saving session state…",
    "sessionStateSavedWarning": "session state saved, but cleanup needs attention: {{error}}",
    "sessionStateCleanupFailed": "session metadata cleanup failed: {{error}}",
    "loadingSessions": "loading sessions…",
    "summarizing": "summarizing branch…",
    "compacting": "compacting conversation…",
    "compactUnavailable": "compact: actions unavailable",
    "listFailed": "failed to list sessions: {{error}}",
    "openFailed": "failed to open session: {{error}}",
    "loadBranchFailed": "failed to load branch: {{error}}",
    "reloadTreeFailed": "failed to reload tree: {{error}}",
    "noActiveSearch": "no active search — press / first",
    "noMatches": "no matches",
    "noTreeNode": "no tree node selected",
    "noSessionLoaded": "no session loaded",
    "noSessionSelected": "no session selected",
    "nothingToFold": "nothing to fold here",
    "copyUnavailable": "copy: actions unavailable",
    "copiedNode": "copied node text to clipboard",
    "noTextToCopy": "selected entry has no text to copy",
    "noContentSelected": "no message selected",
    "copyFailed": "copy failed: {{error}}",
    "labelUnavailable": "label: actions unavailable",
    "labelSet": "label set: {{label}}",
    "labelRemoved": "label removed",
    "labelTimesShown": "label timestamps shown",
    "labelTimesHidden": "label timestamps hidden",
    "labelFailed": "label failed: {{error}}",
    "deleteUnavailable": "delete: actions unavailable",
    "deletingN": "deleting {{count}}…",
    "deleting": "deleting…",
    "deleteFailed": "delete failed: {{error}}",
    "movedToTrash": "session moved to trash",
    "deleted": "session deleted",
    "sessionsDeleted_one": "{{count}} session deleted",
    "sessionsDeleted_other": "{{count}} sessions deleted",
    "batchDeletedFailed": "deleted {{deleted}}, {{failed}} failed — {{error}}",
    "selectionCleared": "selection cleared",
    "pinUnavailable": "pin: actions unavailable",
    "pinFailed": "pin failed: {{error}}",
    "pinned_one": "session pinned",
    "pinned_other": "{{count}} sessions pinned",
    "unpinned_one": "session unpinned",
    "unpinned_other": "{{count}} sessions unpinned",
    "multiSelectRefused": "{{action}}: cannot act on multiple sessions (Esc clears the selection)",
    "changelogUnavailable": "changelog: unavailable",
    "changelogFailed": "changelog failed: {{error}}",
    "renameUnavailable": "rename: actions unavailable",
    "renameFailed": "rename failed: {{error}}",
    "renamed": "renamed: {{name}}",
    "nameRemoved": "name removed",
    "newUnavailable": "new: actions unavailable",
    "forkUnavailable": "fork: actions unavailable",
    "forkFailed": "fork failed: {{error}}",
    "noForkMessages": "No messages to fork from",
    "cloneUnavailable": "clone: actions unavailable",
    "copiedLastReply": "copied last reply",
    "noReplyToCopy": "no assistant reply to copy",
    "exportUnavailable": "export: actions unavailable",
    "exporting": "exporting…",
    "exportedTo": "exported to {{path}}",
    "exportFailed": "export failed: {{error}}",
    "importUnavailable": "import: actions unavailable",
    "importNoFile": "import: no file given",
    "sharing": "sharing…",
    "shareUnavailable": "share: actions unavailable",
    "shareFailed": "share failed: {{error}}",
    "shareUrlCopied": "share URL copied: {{url}}",
    "shared": "shared: {{url}}",
    "radiusSigningIn": "signing in to Radius…",
    "radiusSignedIn": "signed in to Radius",
    "radiusLoginCancelled": "Radius sign-in cancelled",
    "radiusLoginFailed": "Radius sign-in failed: {{error}}",
    "radiusApiKeyRequired": "API key cannot be empty",
    "radiusApiKeyInvalid": "invalid API key",
    "copiedRadiusLink": "copied Radius sign-in details to clipboard",
    "radiusBrowserLinkCopied": "browser opened, sign-in link copied to the clipboard (Esc cancels)",
    "radiusBrowserLink": "browser opened, finish signing in in your browser (Esc cancels): {{url}}",
    "radiusSigningOut": "signing out of Radius…",
    "radiusSignedOut": "signed out of Radius",
    "radiusSignOutFailed": "Radius sign-out failed: {{error}}",
    "radiusSignOutUnavailable": "sign out: actions unavailable",
    "sort": "sort: {{sort}}",
    "sessionInfoUnavailable": "session info: unavailable",
    "sessionInfoFailed": "session info failed: {{error}}",
    "sessionInfoCannotRead": "session info failed: cannot read {{file}}",
    "copiedSessionInfo": "copied session info to clipboard",
    "usageUnavailable": "context usage: unavailable",
    "usageFailed": "context usage failed: {{error}}",
    "usageCannotRead": "context usage failed: cannot read {{file}}",
    "copiedContextUsage": "copied context usage to clipboard",
    "resumeUnavailable": "resume: actions unavailable",
    "restoreUnavailable": "restore: actions unavailable",
    "working": "{{what}}…",
    "workFailed": "{{what}} failed: {{error}}",
    "notImplemented": "{{action}}: not implemented yet",
    "pending": "pending: {{keys}}"
  }
}
