mirror of
https://github.com/luckyyzh/pi-agent-integrated.git
synced 2026-10-03 02:59:35 +00:00
431 lines
19 KiB
TypeScript
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",
|
|
},
|
|
};
|