Files
pi-agent-integrated/pi-web/lib/i18n/messages/en.ts
T

431 lines
19 KiB
TypeScript

import type { LocalePlugin } from "../types";
/** Pi Web 内置英语语言包。 */
export const enLocale: LocalePlugin = {
id: "en",
label: "English",
messages: {
"common.ok": "OK",
"common.language": "Language",
"common.models": "Models",
"common.skills": "Skills",
"common.plugins": "Plugins",
"sidebar.hide": "Hide sidebar",
"sidebar.show": "Show sidebar",
"theme.light": "Switch to light mode",
"theme.dark": "Switch to dark mode",
"history.full": "Full history",
"history.unsaved": "Full history is available after the session is saved",
"history.label": "Full history",
"title.generating": "Generating...",
"title.updated": "Title updated",
"title.failed": "Generation failed",
"title.generate": "Generate title",
"title.unsaved": "Title generation is available after the session is saved",
"title.noMessages": "Send a message before naming this session",
"title.generateSession": "Generate a session title",
"system.prompt": "System prompt",
"system.empty": "System prompt is empty (tools are disabled)",
"system.load": "Send a message to load the system prompt",
"system.label": "System",
"session.info": "Session info",
"session.name": "Name",
"session.file": "File",
"session.inMemory": "In-memory",
"session.id": "ID",
"session.user": "User",
"session.assistant": "Assistant",
"session.toolCalls": "Tool Calls",
"session.toolResults": "Tool Results",
"session.total": "Total",
"session.input": "Input",
"session.output": "Output",
"session.cacheRead": "Cache Read",
"session.cacheWrite": "Cache Write",
"session.cost": "Cost",
"session.context": "Context",
"session.copy": "Copy {value}",
"session.copied": "Copied",
"session.title": "Session info",
"session.load": "Send a message or run /session to load session info",
"session.infoSection": "Session Info",
"session.messages": "Messages",
"session.tokens": "Tokens",
"session.copyFile": "Copy file path",
"session.copyId": "Copy session ID",
"workspace.opening": "Opening workspace...",
"workspace.unable": "Unable to open workspace",
"workspace.selectSession": "Select a session from the sidebar",
"workspace.getStarted": "Get Started",
"workspace.selectProject": "Select a project directory from the sidebar",
"workspace.addModels": "Add models via the Models button at the bottom",
"workspace.stepProject": "Select a project directory from the sidebar",
"workspace.stepModels": "Add models via the Models button at the bottom",
"files.hidePanel": "Hide file panel",
"files.showPanel": "Show file panel",
"files.noneOpen": "No file open",
"sidebar.new": "New",
"sidebar.newSessionTitle": "New session in {path}",
"sidebar.refresh": "Refresh",
"sidebar.selectProject": "Select project…",
"sidebar.filterProjects": "Filter projects…",
"sidebar.noMatchingProjects": "No matching projects",
"sidebar.useDefaultDirectory": "Use default directory",
"sidebar.customPath": "Custom path…",
"directoryPicker.selectDirectory": "Select directory",
"directoryPicker.goToParent": "Go to parent directory",
"directoryPicker.directoryPath": "Directory path",
"directoryPicker.goToDirectory": "Go to directory",
"directoryPicker.go": "Go",
"directoryPicker.loadingDirectories": "Loading directories…",
"directoryPicker.noSubdirectories": "No subdirectories",
"directoryPicker.openBeforeSelecting": "Open this path before selecting it",
"directoryPicker.selectCurrentDirectory": "Select current directory",
"directoryPicker.selectThisFolder": "Select this folder",
"sidebar.checking": "Checking…",
"sidebar.open": "Open",
"sidebar.cancel": "Cancel",
"sidebar.openRepoRoot": "Open repo root",
"sidebar.openRepoRootTitle": "Open the repository root to manage worktrees.",
"sidebar.gitRepoRootOnly": "Git repo root only",
"sidebar.gitRepoRootOnlyTitle": "Worktrees are available in Git repository roots.",
"sidebar.worktrees": "Worktrees...",
"sidebar.checkingWorktrees": "Checking worktrees for this directory.",
"sidebar.filterWorktrees": "Filter worktrees…",
"sidebar.noMatchingWorktrees": "No matching worktrees",
"sidebar.switchWorktree": "Switch worktree",
"sidebar.switchWorktreeTitle": "Switch worktree: {path}",
"sidebar.main": "main",
"sidebar.forceRemoveCheckout": "Uncommitted changes. Force remove checkout?",
"sidebar.force": "Force",
"sidebar.createWorktreeTitle": "Create a worktree checkout for a branch",
"sidebar.newWorktree": "New worktree…",
"sidebar.branchName": "branch name",
"sidebar.creating": "Creating…",
"sidebar.create": "Create",
"sidebar.uploadFilesTitle": "Upload files to project root",
"sidebar.uploadFiles": "Upload files",
"sidebar.refreshExplorer": "Refresh explorer",
"sidebar.changedFiles": "{count} changed files",
"sidebar.loading": "Loading...",
"sidebar.noSessions": "No sessions found",
"sidebar.agentRunning": "Agent running…",
"sidebar.newActivity": "New activity",
"sidebar.newSessionActivity": "New session activity",
"sidebar.deleteSession": "Delete {title}?",
"sidebar.rename": "Rename",
"sidebar.delete": "Delete",
"sidebar.deleteWithShiftClick": "Delete (Shift+click to delete without confirmation)",
"sidebar.expandForks": "Expand forks",
"sidebar.collapseForks": "Collapse forks",
"sidebar.messagesCount": "{count} msgs",
"sidebar.worktreePath": "Worktree: {path}",
"sidebar.removeWorktreeTitle": "Remove worktree checkout {path}; the branch is kept",
"files.modified": "Modified",
"files.added": "Added",
"files.deleted": "Deleted",
"files.renamed": "Renamed",
"files.untracked": "Untracked",
"files.conflict": "Conflict",
"files.newlyUploaded": "Newly uploaded",
"files.containsChangedFiles": "Contains changed files",
"files.insertPath": "Insert path into chat",
"files.mention": "mention",
"files.download": "Download file",
"files.dismissError": "Dismiss error",
"files.addUploadedFile": "Add uploaded file to chat",
"files.addAllUploadedFiles": "Add all uploaded files to chat",
"files.dismissUploadResults": "Dismiss upload results",
"files.loading": "Loading files...",
"files.noFiles": "No files found",
"files.explorer": "Explorer",
"files.changedCount": "{count} files",
"files.changeStats": "{count} changed files, {additions} lines added, {deletions} lines deleted",
"files.conflictSummary": "{count} file{countSuffix} already exist: {files}",
"files.cannotReplace": "Cannot replace: {files}",
"files.replace": "Replace",
"files.skipExisting": "Skip existing",
"files.cancel": "Cancel",
"files.checking": "Checking files",
"files.uploading": "Uploading, {progress}%",
"chat.loadingSession": "Loading session...",
"chat.runningTool": "Running tool...",
"chat.runningNamedTool": "Running {name}...",
"chat.runningTools": "Running {names}...",
"chat.runningToolsMore": "Running {names} (+{count})...",
"chat.waitingModel": "Waiting for model...",
"chat.runningCommand": "Running command...",
"chat.thinking": "Thinking...",
"chat.processDetails": "Process details",
"chat.message": "message",
"chat.messages": "messages",
"chat.toolCall": "tool call",
"chat.toolCalls": "tool calls",
"chat.collapseProcess": "Collapse process details",
"chat.expandProcess": "Expand process details",
"chat.loadEarlier": "Scroll up to load earlier messages ({count} hidden)",
"chat.extensionRequest": "extension request",
"chat.cancel": "Cancel",
"chat.confirm": "Confirm",
"chat.submit": "Submit",
"chat.extensionInput": "Extension terminal input",
"chat.extensionPanel": "Extension panel",
"chat.close": "Close",
"chat.queued": "Queued · {count}",
"chat.recall": "Recall to input",
"chat.recallTitle": "Remove all queued messages and put them back into the input box for editing",
"chat.retrying": "Retrying ({attempt}/{max})…",
"chat.loadingCommands": "Loading commands...",
"chat.slashCommands": "Slash commands · {label}",
"chat.tabEnter": "Tab / Enter",
"chat.noCommands": "No extension, prompt, or skill commands found",
"chat.match": "1 match",
"chat.matches": "{count} matches",
"chat.command": "1 command",
"chat.commands": "{count} commands",
"chat.loadingFiles": "Loading files...",
"chat.files": "Files · {label}{hint}",
"chat.searching": "Searching…",
"chat.noMatchingFiles": "No matching files",
"chat.searchingAll": " · searching all files…",
"chat.indexTruncated": " · index truncated",
"chat.steerPlaceholder": "Steer now / queue follow-up...",
"chat.agentPlaceholder": "Agent is running…",
"chat.messagePlaceholder": "Message… Type / for commands, @ for files",
"chat.steer": "Steer",
"chat.followUp": "Follow-up",
"chat.send": "Send",
"chat.attachImage": "Attach image",
"chat.filterModels": "Filter models…",
"chat.noMatchingModels": "No matching models",
"chat.moreControls": "More controls",
"chat.collapseControls": "Collapse controls",
"chat.shell": "Shell",
"chat.outputLocal": "output stays local",
"chat.outputModel": "output sent to model",
"chat.noTools": "No tools, read-only",
"chat.builtInTools": "{count} built-in tools",
"chat.allBuiltInTools": "All built-in tools",
"chat.changeReasoning": "Change reasoning level: {level}",
"chat.changeReasoningLabel": "Change reasoning level",
"chat.changeToolPreset": "Change tool preset",
"chat.stopCompaction": "Stop compaction",
"chat.compactContext": "Compact context",
"chat.compacting": "Compacting…",
"chat.compact": "Compact",
"chat.stopAgent": "Stop agent",
"chat.stop": "Stop",
"chat.disableSound": "Disable completion sound",
"chat.enableSound": "Enable completion sound",
"chat.thinkingUseDefault": "Use pi default",
"chat.thinkingOff": "Reasoning off",
"chat.thinkingMinimal": "Minimal reasoning",
"chat.thinkingLow": "Low reasoning",
"chat.thinkingMedium": "Medium reasoning",
"chat.thinkingHigh": "High reasoning",
"chat.thinkingXhigh": "Extra-high reasoning",
"chat.thinkingMax": "Max reasoning",
"chat.builtIn": "Built-in",
"chat.extensions": "Extensions",
"chat.prompts": "Prompts",
"chat.skills": "Skills",
"chat.commandCompact": "Compress context, optionally with instructions",
"chat.commandReload": "Reload extensions, skills, prompts, and tools",
"chat.commandName": "Set the session display name",
"chat.commandSession": "Show session message, token, and cost stats",
"chat.commandCopy": "Copy the last assistant message",
"chat.compacted": "Compacted",
"chat.tokensSaved": "{saved} saved",
"i18n.close": "Close",
"i18n.copy": "Copy",
"i18n.copied": "Copied",
"i18n.cancel": "Cancel",
"i18n.save": "Save",
"i18n.saving": "Saving…",
"i18n.saved": "Saved",
"i18n.remove": "Remove",
"i18n.removing": "Removing…",
"i18n.delete": "Delete",
"i18n.loading": "Loading...",
"i18n.search": "Search",
"i18n.refresh": "Refresh",
"i18n.update": "Update",
"i18n.updating": "Updating...",
"i18n.check": "Check",
"i18n.checking": "Checking...",
"i18n.install": "Install",
"i18n.installing": "Installing...",
"i18n.noResults": "No results",
"i18n.searchProviders": "Search providers…",
"i18n.noProviders": "No providers match",
"i18n.newModel": "new model",
"i18n.addProvider": "Add provider",
"i18n.selectProviderModel": "Select a provider or model",
"i18n.visibleInPrompt": "Visible in model prompt — click to disable",
"i18n.hiddenFromPrompt": "Hidden from model prompt — click to enable",
"i18n.skillSearchPlaceholder": "e.g. react, testing, deploy",
"i18n.searching": "Searching…",
"i18n.noSkills": "No skills found",
"i18n.checkUpdates": "Check updates",
"i18n.updates": "updates",
"i18n.noResolvedResources": "No resolved resources",
"i18n.enablePackage": "Enable package",
"i18n.disablePackage": "Disable package",
"i18n.filtered": "filtered",
"i18n.openSessionToReload": "Open a session to reload",
"i18n.notFound": "Not found",
"i18n.noPlugins": "No plugins configured",
"trust.resourcesNotLoaded": "Restricted mode",
"trust.trustProject": "Trust project",
"trust.trusting": "Trusting...",
"trust.cancel": "Cancel",
"trust.dialogTitle": "Trust this project?",
"trust.dialogBody": "Project resources can run local code. Trust only projects whose contents you know.",
"trust.skillsNotLoaded": "Project skills are not loaded because this project is not trusted.",
"trust.pluginsNotLoaded": "Project plugins are not loaded because this project is not trusted.",
"trust.projectScopeUnavailable": "Project installs are unavailable while project resources are not loaded.",
"i18n.creatingSession": "Creating new session…",
"i18n.creating": "Creating…",
"i18n.subscription": "Subscription",
"i18n.subscriptions": "Subscriptions",
"i18n.customEndpoint": "Custom endpoint format",
"i18n.noChanges": "No changes",
"i18n.branches": "Branches",
"i18n.noActiveSession": "No active session",
"i18n.noBranches": "This session has no branches",
"i18n.source": "Source",
"i18n.preview": "Preview",
"i18n.diff": "Diff",
"i18n.downloadFile": "Download file",
"i18n.liveSync": "Live sync active",
"i18n.notWatching": "Not watching",
"i18n.fileViewMode": "File view mode",
"i18n.compareHead": "Compare working tree with HEAD",
"i18n.mentionSelectedLines": "Mention selected lines",
"i18n.disableWrap": "Disable word wrap",
"i18n.enableWrap": "Enable word wrap",
"i18n.htmlPreview": "HTML preview",
"i18n.previewFile": "Preview {file}",
"i18n.invalidMermaid": "Invalid Mermaid diagram",
"i18n.renderingMermaid": "Rendering Mermaid diagram",
"i18n.previewAfterStreaming": "Preview available after streaming",
"i18n.showMermaidSource": "Show Mermaid source",
"i18n.previewMermaid": "Preview Mermaid diagram",
"i18n.openMermaidViewer": "Open diagram viewer",
"i18n.mermaidViewer": "Mermaid diagram viewer",
"i18n.mermaidDiagram": "Mermaid diagram",
"i18n.zoomOut": "Zoom out",
"i18n.zoomIn": "Zoom in",
"i18n.fitToWidth": "Fit to width",
"models.discoveryFetching": "Importing models…",
"models.discoveryFetch": "Import models…",
"models.discoveryFilterPlaceholder": "Filter {count} models…",
"models.discoveryFilter": "Filter upstream models",
"models.discoverySelectShown": "Select shown",
"models.discoveryNoMatches": "No matching models.",
"models.discoveryAdded": "added",
"models.discoveryShowing": "Showing first {shown} of {total}",
"models.discoveryFetched": "{count} models fetched",
"models.discoveryAddSelected": "Add selected",
"models.discoveryAddSelectedCount": "Add selected ({count})",
"models.catalogSource": "source: models.dev ↗",
"models.catalogFilling": "Filling details…",
"models.catalogFill": "Fill model details",
"models.catalogFilled": "{count} fields filled",
"models.catalogNoEmptyFields": "No empty fields to fill",
"models.catalogNoExactMatch": "No exact models.dev match",
"models.catalogPriceProvider": "Price matched Provider {provider}",
"models.catalogPriceBaseUrl": "Price matched Base URL to {provider}",
"models.catalogPriceConsensus": "Price agreed by {support}/{total} records",
"models.catalogPriceUnreliable": "No reliable price found",
"models.catalogUndo": "Undo",
"i18n.testingModel": "Testing model connection...",
"i18n.connected": "Connected",
"i18n.failed": "Failed",
"i18n.test": "Test",
"i18n.testConnection": "Test model connection",
"i18n.provider": "Provider",
"i18n.model": "Model",
"i18n.providerName": "Provider name",
"i18n.rename": "Rename",
"i18n.default": "Default",
"i18n.disabled": "Disabled",
"i18n.noResources": "No resources",
"i18n.unknown": "Unknown",
"i18n.installedVersion": "installed {version}",
"i18n.configuredVersion": "configured {version}",
"i18n.extensions": "Extensions",
"i18n.prompts": "Prompts",
"i18n.themes": "Themes",
"i18n.resourceCount": "{count} {label}",
"i18n.extensionShort": "ext",
"i18n.skillShort": "skills",
"i18n.promptShort": "prompts",
"i18n.themeShort": "themes",
"i18n.custom": "Custom",
"i18n.clearAll": "clear all",
"i18n.connectedSuccessfully": "Connected successfully.",
"i18n.notConnected": "not connected",
"i18n.configured": "configured",
"i18n.notConfigured": "not configured",
"i18n.openingBrowser": "Opening browser…",
"i18n.submit": "Submit",
"i18n.login": "Login",
"i18n.relogin": "Re-login",
"i18n.disconnect": "Disconnect",
"i18n.networkError": "Network error",
"i18n.continuing": "Continuing…",
"i18n.skills": "Skills",
"i18n.plugins": "Plugins",
"i18n.addSkill": "Add skill",
"i18n.addPlugin": "Add plugin",
"i18n.selectSkill": "Select a skill",
"i18n.selectPackage": "Select a package",
"i18n.updateAvailable": "Update available",
"i18n.upToDate": "Up to date",
"i18n.automaticChecksUnavailable": "Automatic checks unavailable",
"i18n.checkFailed": "Check failed",
"i18n.installed": "Installed",
"i18n.status": "Status",
"i18n.version": "Version",
"i18n.package": "Package",
"i18n.resources": "Resources",
"i18n.installedPath": "Installed path",
"i18n.cwd": "CWD",
"i18n.resolvedResources": "Resolved Resources",
"i18n.reloadSession": "Reload session",
"i18n.reloading": "Reloading...",
"i18n.packageRemoved": "Package removed.",
"i18n.packageInstalled": "Package installed.",
"i18n.packageUpdated": "Package updated.",
"i18n.packageDisabled": "Package disabled.",
"i18n.packageEnabled": "Package enabled.",
"i18n.sessionReloaded": "Session reloaded.",
"i18n.thinking": "Thinking",
"i18n.loadingThinking": "Loading thinking...",
"i18n.copyMessage": "Copy message",
"i18n.editFromHere": "Edit from here",
"i18n.editFromHereTitle": "Edit from here — branches within this session",
"i18n.newSession": "New session",
"i18n.newSessionTitle": "New session — creates an independent copy from here",
"i18n.estimatedTokens": "Estimated token count while streaming",
"i18n.noOutput": "(no output)",
"i18n.noSummary": "(no summary)",
"i18n.conversationCompacted": "Conversation compacted",
"i18n.compactionDescription": "The conversation history before this point was compacted into the following summary:",
"i18n.fileContext": "File context: {details}",
"i18n.readFiles": "Read files",
"i18n.modifiedFiles": "Modified files",
"i18n.hiddenExtensionMessage": "hidden extension message",
"i18n.noMessage": "(no message)",
"i18n.showExtensionMessage": "Show extension message",
"i18n.collapse": "Collapse",
"i18n.expand": "Expand",
"i18n.hideDetails": "Hide details",
"i18n.showDetails": "Show details",
"i18n.thinkingUnavailable": "Thinking content unavailable",
"i18n.before": "Before",
"i18n.after": "After",
},
};