Ctrl K
ComunidadGuías…

i18n/locales/en.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "app": {
    "newChat": "New chat",
    "loginTitle": "Sign in to Codex Gateway",
    "loginDescription": "Use the account created by the administrator. Connection config is encrypted on the server.",
    "login": "Sign in",
    "loginFailed": "Sign-in failed",
    "username": "Username",
    "accountAuthModeApiKey": "API key",
    "accountAuthModeChatgpt": "ChatGPT",
    "accountAuthModeChatgptAuthTokens": "ChatGPT tokens",
    "accountAuthModeHeaders": "Header auth",
    "accountAuthModeAgentIdentity": "Agent Identity",
    "accountAuthModePersonalAccessToken": "Personal access token",
    "accountAuthModeBedrockApiKey": "Bedrock API key",
    "search": "Search",
    "plugins": "Plugins",
    "automations": "Automations",
    "pinned": "Pinned",
    "recentlyRunning": "Recently running",
    "activeSubAgents": "Active sub-agents",
    "subAgentInput": "Message sent to sub-agent",
    "noThreads": "No threads",
    "noProjects": "No projects",
    "refreshThreadsHint": "Click search or refresh to read real Codex threads",
    "projects": "Projects",
    "settings": "Settings",
    "sidebar": "Sidebar",
    "openSidebar": "Open sidebar",
    "hideSidebar": "Hide sidebar",
    "sidebarDescription": "Choose hosts, projects, threads, and settings",
    "settingsDescription": "Manage remote hosts, pinned conversations, notifications, and import/export config JSON.",
    "close": "Close",
    "language": "Language",
    "appearanceSettings": "Appearance",
    "appearanceSettingsDescription": "Adjust interface display preferences.",
    "interfaceLanguage": "Interface language",
    "interfaceLanguageDescription": "Choose the display language for Codex Gateway.",
    "accountSession": "Account session",
    "logoutDescription": "Sign out of this browser and revoke the current Gateway session.",
    "logout": "Sign out",
    "loggingOut": "Signing out",
    "threadList": "Threads",
    "projectThreads": "Project threads",
    "projectThreadsHint": "Select a real Codex thread below, or start a new thread in this project.",
    "noProjectThreads": "No threads in this project",
    "openThread": "Open thread",
    "agentTab": "Agent",
    "filesTab": "Files",
    "openFileTabs": "Open files",
    "remoteFileChanged": "Remote file changed",
    "fileSource": "Source",
    "fileRenderedPreview": "Preview",
    "fileGitChanges": "Changes",
    "fileGitNoChanges": "No changes relative to HEAD",
    "fileGitDiffTooLarge": "Diff preview is limited to 2 MiB",
    "fileGitIgnored": "Ignored files do not have a Git baseline",
    "fileGitLoading": "Loading Git changes",
    "fileGitLoadFailed": "Failed to load Git changes",
    "fileGitRefresh": "Refresh Git changes",
    "fileGitPreviousChange": "Previous change",
    "fileGitNextChange": "Next change",
    "fileGitExpandAll": "Expand all change folders",
    "fileGitCollapseAll": "Collapse all change folders",
    "fileGitWorkspaceUnavailable": "The workspace is not inside a Git repository",
    "fileGitDescendantChanges": "{count} changed files in this folder",
    "fileGitSelectChange": "Select a changed file to review",
    "fileGitOpenReview": "Open full change review",
    "fileGitReviewTab": "Review Changes",
    "fileGitStatus": {
      "clean": "Unmodified",
      "modified": "Modified",
      "added": "Added",
      "renamed": "Renamed",
      "copied": "Copied",
      "untracked": "Untracked",
      "conflicted": "Conflicted",
      "deleted": "Deleted",
      "ignored": "Ignored"
    },
    "fileTooLargeToEdit": "Files over 5 MiB are read-only",
    "savingFile": "Saving",
    "fileConflict": "Remote conflict; click to resolve",
    "fileUnsaved": "Unsaved",
    "fileSaved": "Saved",
    "saveFile": "Save",
    "closeUnsavedFileTitle": "Save file changes?",
    "closeUnsavedFileDescription": "{name} contains unsaved changes.",
    "discard": "Discard changes",
    "fileConflictTitle": "Remote file was modified",
    "fileConflictDescription": "The local draft is based on an older version. Load the remote version or explicitly overwrite it.",
    "localDraft": "Local draft",
    "remoteVersion": "Remote version",
    "loadRemoteVersion": "Discard local and load remote",
    "forceOverwrite": "Overwrite remote",
    "loadingFileTree": "Loading file tree",
    "refreshFiles": "Refresh files",
    "uploadFiles": "Upload files",
    "uploadFilesTo": "Upload files to {path}",
    "dropFilesTo": "Drop files into {path}",
    "selectUploadFiles": "Choose files",
    "fileUploadPhase": {
      "uploading": "Uploading files",
      "saving": "Saving to remote host",
      "complete": "Upload complete"
    },
    "fileUploadRemotePending": "Files sent; waiting for remote storage…",
    "fileUploadCount": "Uploaded {count}/{total} files",
    "uploadFilesOnly": "Choose files; folder uploads are not supported yet",
    "fileUploadSucceeded": "Uploaded",
    "remoteFileAlreadyExists": "Already exists; choose a different filename",
    "remoteFileUploadFailed": "File upload failed",
    "downloadFile": "Download file",
    "downloadFileFailed": "Failed to download file",
    "copyAbsolutePath": "Copy absolute path",
    "absolutePathCopied": "Absolute path copied",
    "copyAbsolutePathFailed": "Failed to copy absolute path",
    "deleteFile": "Delete file",
    "deleteFileTitle": "Delete remote file?",
    "deleteFileDescription": "This permanently deletes the file from the remote host and cannot be undone.",
    "cancelFileDelete": "Cancel",
    "confirmDeleteFile": "Delete permanently",
    "fileDeleteSucceeded": "File deleted",
    "deleteFileFailed": "Failed to delete file",
    "noOpenFiles": "No files open",
    "chooseFileFromTree": "Choose a file from the file tree",
    "fileTree": "File tree",
    "openFileTree": "Open file tree",
    "closeTab": "Close tab",
    "openTerminal": "Open terminal",
    "openBrowser": "Open browser",
    "openTmuxMonitor": "Open Tmux monitors",
    "openHostMonitor": "Open host monitor",
    "hostMonitor": "Host monitor",
    "hostMonitorWindow": "Adaptive sampling · latest 300 points",
    "hostMetricsWaiting": "Waiting for the Host SSH connection and metrics",
    "hostMetricCpu": "CPU",
    "hostMetricMemory": "Memory",
    "hostMetricNetwork": "Network",
    "hostMetricDisk": "Disk",
    "hostMetricGpu": "GPU",
    "gpuProcesses": "GPU processes",
    "gpuProcessCount": "{count} processes",
    "gpuProcessesWaiting": "Waiting for a GPU process snapshot",
    "gpuProcessesEmpty": "No GPU compute processes are running",
    "gpuProcessAllUsers": "All users",
    "gpuProcessUnknownUser": "Unknown user",
    "gpuProcessUser": "User",
    "gpuProcessPid": "PID",
    "gpuProcessGpu": "GPU",
    "gpuProcessMemory": "GPU memory",
    "gpuProcessElapsed": "Elapsed",
    "gpuProcessCpu": "CPU",
    "gpuProcessHostMemory": "Host memory",
    "gpuProcessCommand": "Command",
    "hostMetricsStatus": {
      "waiting": "Waiting for connection",
      "collecting": "Collecting live",
      "disconnected": "SSH disconnected",
      "unsupported": "Collection unsupported",
      "error": "Collection error"
    },
    "tmuxMonitors": "Tmux monitors",
    "tmuxHostLevelMonitor": "Host-level monitor",
    "tmuxActiveMonitors": "Active monitors",
    "tmuxPermanentMonitors": "Permanent monitors",
    "tmuxPermanentMonitor": "Permanent monitor",
    "tmuxRemoteSessions": "Remote panes",
    "tmuxNoHosts": "No remote hosts are available to scan",
    "tmuxPaneCount": "{count} panes",
    "tmuxMonitorHistory": "Monitor history",
    "tmuxCheckNow": "Check now",
    "tmuxRefreshHostSessions": "Refresh panes on {host}",
    "tmuxAddMonitor": "Monitor",
    "tmuxAddPermanentMonitor": "Monitor permanently",
    "tmuxMonitorAdded": "Monitoring {session} · {host} · {thread}",
    "tmuxPermanentMonitorAdded": "Permanently monitoring {session} · {host} · {thread}",
    "tmuxMonitorPromoted": "Converted {session} to a permanent monitor",
    "tmuxCancelMonitor": "Cancel monitor",
    "tmuxCancelPermanentMonitor": "Cancel permanent monitor",
    "tmuxPromotePermanent": "Make permanent",
    "tmuxMonitorActions": "Monitor actions",
    "tmuxPermanentRunning": "Permanent · running",
    "tmuxPermanentWaiting": "Permanent · waiting",
    "tmuxPermanentWaitingSince": "Waiting for the next task since {time}",
    "tmuxPermanentMonitorConfirmTitle": "Enable permanent monitoring?",
    "tmuxPermanentMonitorConfirmDescription": "This will continuously watch the current logical pane location in {session}.",
    "tmuxPermanentMonitorConsequences": "A notification is sent whenever a task finishes. Monitoring continues after the pane returns to its shell and resumes if the same session, window, and pane location is recreated. Periodic SSH checks continue until you cancel the permanent monitor.",
    "tmuxConfirmPermanentMonitor": "Enable permanent monitoring",
    "tmuxConfirmPromotePermanent": "Make permanent",
    "tmuxMonitorAgain": "Monitor again",
    "tmuxRunning": "Running",
    "tmuxIdleShell": "At shell",
    "tmuxNoSessions": "No tmux sessions are available on this host",
    "tmuxNoActiveMonitors": "No active monitors",
    "tmuxNoHistory": "No monitor history yet",
    "tmuxLastChecked": "Last checked {time}",
    "tmuxMonitoringSince": "Monitoring since {time}",
    "tmuxCompletedAt": "Finished {time}",
    "tmuxCheckFailed": "Check failed: {message}",
    "tmuxLoadFailed": "Failed to load tmux monitors",
    "tmuxScanFailed": "Failed to scan remote tmux panes",
    "tmuxCheckRequestFailed": "Failed to check tmux monitors",
    "tmuxAddFailed": "Failed to add tmux monitor",
    "tmuxPromoteFailed": "Failed to make tmux monitor permanent",
    "tmuxCancelFailed": "Failed to cancel tmux monitor",
    "tmuxPreviousPaneUnavailable": "The previous tmux pane is not currently running",
    "tmuxViewPaneOutput": "View output from {session}",
    "tmuxRefreshOutput": "Refresh output",
    "tmuxLoadingPaneOutput": "Reading remote pane output…",
    "tmuxEmptyPaneOutput": "This pane has no output yet",
    "tmuxPaneOutputLoadFailed": "Failed to read tmux pane output",
    "tmuxBoundThread": "Bound thread: {title}",
    "tmuxReasonReturnedToShell": "Returned to shell",
    "tmuxReasonSessionExited": "Session exited",
    "tmuxReasonPaneExited": "Pane exited",
    "tmuxReasonPaneReplaced": "Pane replaced",
    "tmuxReasonCancelled": "Cancelled",
    "browserTargetHint": "The address is reached from the selected remote host; localhost refers to that host.",
    "browserFrameBlocked": "The remote page security policy may prevent embedded display.",
    "browserResourceLoadFailed": "{count} remote request failed | {count} remote requests failed",
    "browserResourceLoadFailedHint": "A remote document, asset, or API request failed. These errors can leave the preview blank or incomplete.",
    "browserAddress": "Preview address",
    "allowInsecureTls": "Allow insecure TLS for this preview",
    "openExternally": "Open externally",
    "reload": "Reload",
    "open": "Open",
    "splitRight": "Split right",
    "maximizePanel": "Maximize panel",
    "floatPanel": "Float or dock panel",
    "popoutPanel": "Open panel in a new window",
    "popupBlocked": "Popup blocked",
    "popupBlockedDescription": "Allow popups for Codex Gateway and retry.",
    "closeTerminal": "Close terminal",
    "closeTerminalFailed": "Failed to close terminal",
    "closeBrowserPreviewFailed": "Failed to close browser preview",
    "terminalExited": "Terminal exited",
    "pinThread": "Pin thread",
    "unpinThread": "Unpin thread",
    "renameThread": "Rename thread",
    "renameThreadDescription": "Change the name shown for this thread in Codex and the sidebar.",
    "threadName": "Thread name",
    "save": "Save",
    "cancel": "Cancel",
    "singleUser": "single user",
    "noThread": "Open or create a thread",
    "chooseProject": "Choose a project to view threads",
    "loadingGateway": "Loading remote threads",
    "loadOlder": "Load earlier messages",
    "loadOlderItems": "Load earlier intermediate steps",
    "commandOutputWindow": "Only part of the command output is cached",
    "loadEarlierOutput": "View earlier output",
    "backToLatest": "Return to latest output",
    "loadingOlder": "Loading earlier messages",
    "thinking": "Thinking",
    "turnDuration": "Turn duration {duration}",
    "turnUsageAmount": "Usage {amount}",
    "history": "History",
    "liveEvents": "Live events",
    "noEvents": "No gateway events for this thread yet",
    "realtimeDisconnected": "Realtime connection disconnected",
    "realtimeRequestTimedOut": "Realtime request timed out",
    "realtimeUnavailable": "Realtime connection unavailable",
    "refreshThreadGoalFailed": "Failed to sync thread goal",
    "composerPlaceholder": "Ask for follow-up changes",
    "send": "Send",
    "interruptTurn": "Stop generation",
    "newThread": "New",
    "refresh": "Refresh",
    "ctrlEnter": "Enter sends, Shift Enter inserts a new line",
    "selectThreadFirst": "Select a thread first",
    "selectProjectFirst": "Select a project first",
    "slashCommands": "Slash commands",
    "slashCommandNew": "/new",
    "slashCommandNewTitle": "New thread",
    "slashCommandNewDescription": "Start an empty thread in the current project",
    "slashCommandPlan": "/plan",
    "slashCommandPlanTitle": "Plan mode",
    "slashCommandPlanDescription": "Send the next message with official Codex Plan Mode",
    "slashCommandGoal": "/goal",
    "slashCommandGoalTitle": "Goal mode",
    "slashCommandGoalDescription": "Use /goal OBJECTIVE to set the current thread goal",
    "slashGoalSetTitle": "Set goal",
    "slashGoalSetDescription": "Enter an objective and start a long-running goal",
    "slashGoalEditTitle": "Edit goal",
    "slashGoalEditDescription": "Put the current objective back in the composer",
    "slashGoalPauseTitle": "Pause goal",
    "slashGoalPauseDescription": "Mark the current goal as paused",
    "slashGoalResumeTitle": "Resume goal",
    "slashGoalResumeDescription": "Mark the current goal as active",
    "slashGoalClearTitle": "Clear goal",
    "slashGoalClearDescription": "Clear the current goal through app-server",
    "planModeActive": "Plan mode",
    "planModeModelUnavailable": "The current host has not provided a model for Plan mode",
    "plan": "Plan",
    "togglePlan": "Toggle plan",
    "goalModeActive": "Goal",
    "threadGoal": "Goal",
    "goalInputHint": "Enter an objective and press Enter",
    "goalStop": "Stop goal",
    "goalDetailsTitle": "Goal details",
    "goalDetailsDescription": "Current goal progress is synchronized from app-server.",
    "goalObjective": "Objective",
    "goalElapsed": "Elapsed",
    "goalTokensUsed": "Tokens used",
    "goalTokenBudget": "Token budget",
    "goalStatusActive": "Active",
    "goalStatusPaused": "Paused",
    "goalStatusBlocked": "Blocked",
    "goalStatusUsageLimited": "Usage limited",
    "goalStatusBudgetLimited": "Budget limited",
    "goalStatusComplete": "Complete",
    "deactivatePlanMode": "Exit plan mode",
    "goalObjectiveRequired": "Enter an objective, for example /goal finish this refactor",
    "planImplementationPrompt": "Implement this plan?",
    "implementPlan": "Implement plan",
    "continuePlanning": "Continue planning",
    "searchThread": "Search thread title",
    "modelOptional": "Model override optional",
    "hostSettings": "Host settings",
    "hosts": "Hosts",
    "addHost": "Add host",
    "editHosts": "Edit hosts",
    "editHost": "Edit connection",
    "hostManagementDescription": "View SSH connection and Codex upgrade status, manage connections, or restart a remote daemon.",
    "hostUpgradePhase": {
      "preparing": "Preparing package",
      "uploading": "Uploading package",
      "installing": "Installing",
      "restarting": "Restarting"
    },
    "managedHostCount": "{count} hosts",
    "connectedHostCount": "{count} connected",
    "upgradingHostCount": "{count} upgrading",
    "addHostFailed": "Failed to add host",
    "saveHost": "Save host",
    "saveHostFailed": "Failed to save host",
    "restartHostDaemon": "Restart Codex daemon",
    "confirmHostDaemonRestart": "Confirm restart",
    "hostDaemonRestartDescription": "Restart the Codex daemon on {host}? Other Codex clients under the same remote user will briefly disconnect, and running or queued tasks may be interrupted. Gateway will restore conversation connections afterwards.",
    "hostDaemonRestarting": "Restarting Codex daemon",
    "hostDaemonRestarted": "Codex daemon on {host} restarted and reconnected",
    "hostDaemonRestartFailed": "Failed to restart Codex daemon",
    "noHosts": "No hosts",
    "deleteHost": "Delete host",
    "connected": "Connected",
    "hostDisconnected": "Disconnected",
    "hostCheckingVersion": "Checking remote Codex version",
    "hostUpgrading": "Upgrading remote Codex",
    "hostRestarting": "Restarting remote app-server",
    "hostConnecting": "Connecting",
    "hostConnectionFailed": "Connection failed",
    "hostMfaRequired": "MFA required",
    "hostMfaConnecting": "Connecting to MFA host",
    "hostMfaTitle": "MFA Verification Required",
    "hostMfaDescription": "Enter the verification code for {host}",
    "hostMfaCodeLabel": "Verification code",
    "hostMfaCodePlaceholder": "Enter your MFA code",
    "submit": "Submit",
    "hostName": "Name",
    "sshHost": "SSH host",
    "user": "User",
    "port": "Port",
    "sshProxy": "SSH proxy URL",
    "sshProxyPlaceholder": "socks5h://127.0.0.1:7890, leave empty to disable proxy",
    "auth": "Auth",
    "password": "Password",
    "sshAgent": "ssh-agent",
    "sshPassword": "SSH password",
    "privateKeyPath": "Private key path",
    "privateKey": "Private key content, paste full PEM",
    "configJson": "Config JSON",
    "configJsonPlaceholder": "Current server config JSON. Edit it directly, then import.",
    "notificationSettings": "Notifications",
    "barkNotifications": "Bark notifications",
    "notificationChannels": "Notification channels",
    "notificationChannelsDescription": "Notify when turns, goals or Tmux tasks finish, or user input is needed. Web Push takes priority; Bark is used when browser delivery is unavailable or fails.",
    "enableWebPush": "Enable web notifications",
    "webPushDescription": "Authorize this browser to receive system notifications. Click a notification to open its conversation. Notifications can arrive with the browser closed; on iPhone and iPad, add this site to the Home Screen first.",
    "webPushUnsupported": "Web Push is unavailable in this browser. Use HTTPS, or open the installed Home Screen app on iPhone / iPad.",
    "webPushDenied": "Notifications were not allowed. Enable notifications for this site in browser or system settings.",
    "webPushSetupFailed": "Failed to set up web notifications",
    "enableBrowserNotifications": "Authorize this browser",
    "disableBrowserNotifications": "Disable on this browser",
    "webPushBrowserEnabled": "Enabled on this browser",
    "barkNotificationsDescription": "The server sends a Bark push when a Codex turn finishes. Phone notifications still work after the browser is closed.",
    "enableBark": "Enable Bark",
    "enableBarkDescription": "Only sends when a real app-server turn completion event arrives.",
    "barkServerUrl": "Bark server URL",
    "barkDeviceKey": "Bark device key",
    "barkDeviceKeyPlaceholder": "Enter only the device key, not the full URL",
    "barkGroup": "Bark group",
    "barkGroupPlaceholder": "Codex Gateway",
    "saveNotificationSettings": "Save notification settings",
    "notificationSettingsSaved": "Notification settings saved",
    "notificationSettingsSaveFailed": "Failed to save notification settings",
    "refreshConfig": "Refresh config",
    "importConfig": "Import config",
    "importConfigFailed": "Failed to import config",
    "configSyncFailed": "Failed to sync config",
    "browse": "Browse",
    "browseFailed": "Failed to read directory",
    "bootstrapFailed": "Failed to bootstrap gateway",
    "connectHostFailed": "Failed to connect host",
    "listThreadsFailed": "Failed to list threads",
    "listModelsFailed": "Failed to list models",
    "openThreadFailed": "Failed to open thread",
    "threadOwnedByOtherClient": "Another Codex client owns this conversation. Only its saved history is shown here.",
    "closeOtherClientAndRetry": "Close this conversation in the original client, then retry the takeover.",
    "retryTakeover": "Retry takeover",
    "openTerminalFailed": "Failed to open terminal",
    "sendMessageFailed": "Failed to send message",
    "sendSteerFailed": "Failed to send steer message",
    "interruptTurnFailed": "Failed to stop generation",
    "noActiveTurnToInterrupt": "No active turn to stop",
    "loadOlderTurnsFailed": "Failed to load older messages",
    "loadTurnItemsFailed": "Failed to load Turn content",
    "misalignmentRecoveryTitle": "Codex needs confirmation to continue",
    "misalignmentRecoveryConfirm": "Send correction",
    "mcpConnections": "MCP connections",
    "collabTool": {
      "spawnAgent": "Start subagent",
      "sendInput": "Send input",
      "resumeAgent": "Resume subagent",
      "wait": "Wait for subagent",
      "closeAgent": "Close subagent",
      "sendMessage": "Send message",
      "followupTask": "Assign follow-up task",
      "interruptAgent": "Interrupt subagent",
      "listAgents": "List subagents"
    },
    "subAgentActivityKind": {
      "started": "Started",
      "interacted": "Interacted",
      "interrupted": "Interrupted",
      "completed": "Completed"
    },
    "updateThreadSettingsFailed": "Failed to update thread settings",
    "uploadAttachmentFailed": "Failed to upload attachment",
    "errorScope": "Scope",
    "errorHost": "Host",
    "errorSsh": "SSH",
    "errorAuth": "Auth",
    "errorPassword": "Password",
    "errorPasswordConfigured": "configured",
    "errorPasswordMissing": "missing",
    "errorProxy": "Proxy",
    "errorProxyEnabled": "enabled",
    "errorProxyNone": "none",
    "addProject": "Add project",
    "addProjectDescription": "Choose a remote working directory on {host}. Directory groups come from Codex conversations.",
    "projectName": "Project name",
    "remotePath": "Remote path",
    "knownProjects": "Known projects",
    "metadataHint": "Host config is encrypted on the server",
    "projectHint": "Used for thread filters and turn cwd",
    "stepSummary": "Step {step} / {total} · {files} files changed",
    "askFollowUp": "Ask for follow-up changes",
    "projectFiles": "Project files",
    "searchingProjectFiles": "Searching project files…",
    "noMatchingProjectFiles": "No matching project files",
    "noProjectFiles": "This project has no referenceable files",
    "fileReferenceLimit": "You can reference up to {count} project files per turn",
    "projectRequiredForFileReferences": "Select a project before sending a message",
    "custom": "Custom",
    "attachFile": "Attach files or images",
    "removeAttachment": "Remove attachment",
    "attachedFileReferences": "Attached files, remote paths:",
    "model": "Model",
    "modelHostDefault": "Host default",
    "modelCodexDefault": "Codex default",
    "effortHostDefault": "Host default",
    "agentProvider": "Agent provider",
    "agentProviderCodex": "Codex",
    "searchModels": "Search models or reasoning effort",
    "noMatchingModels": "No matching model or reasoning effort",
    "contextUsage": "{percent}% context used",
    "contextUsageUnavailable": "Waiting for app-server context usage",
    "contextInputTokens": "Input tokens",
    "contextOutputTokens": "Output tokens",
    "contextReasoningTokens": "Reasoning tokens",
    "contextCacheReadTokens": "Cache read tokens",
    "contextCacheWriteTokens": "Cache write tokens",
    "approvalPolicy": "Approval policy",
    "approvalQuestion": "How should Codex actions be approved?",
    "learnMore": "Learn more",
    "approvalAsk": "Ask for approval",
    "approvalAskShort": "Ask",
    "approvalAskDescription": "Always ask to edit external files and use the internet",
    "approvalAuto": "Approve for me",
    "approvalAutoShort": "Approve",
    "approvalAutoDescription": "Only ask for actions detected as potentially unsafe",
    "approvalFullAccess": "Full access",
    "approvalFullAccessShort": "Full access",
    "approvalFullAccessDescription": "Unrestricted access to the internet and any file on the remote host",
    "approvalCustom": "Custom",
    "approvalCustomShort": "Custom",
    "approvalCustomDescription": "Preserves current thread permissions; new conversations use the host configuration",
    "reasoningEffort": "Reasoning effort",
    "reasoningDefault": "Default reasoning",
    "loadingModels": "Loading models",
    "running": "Running",
    "completedUnviewed": "Completed, needs review",
    "completed": "Completed",
    "failed": "Failed",
    "interrupted": "Interrupted",
    "idle": "Idle",
    "steeredConversation": "Steered conversation",
    "sleep": "Sleep",
    "imageView": "View image",
    "imageGeneration": "Generate image",
    "enteredReviewMode": "Entered review mode",
    "exitedReviewMode": "Exited review mode",
    "contextCompaction": "Context compaction",
    "subAgentActivity": "Sub-agent activity",
    "subAgentPanel": "Sub-agent",
    "openSubAgent": "Open sub-agent",
    "interruptSubAgent": "Stop sub-agent",
    "loadingSubAgent": "Loading sub-agent",
    "noSubAgentTurns": "This sub-agent has no visible turns yet",
    "closeInspectorPanel": "Close inspector",
    "closeInspectorTab": "Close {title}",
    "loadingFilePreview": "Loading file preview",
    "filePreviewFailed": "File preview failed",
    "binaryFileTitle": "This file cannot be displayed as text",
    "binaryFileDescription": "The file is binary or uses an unsupported text encoding. Office, PDF, and image files still open in their dedicated viewer.",
    "noFilePreview": "No file preview available",
    "retry": "Retry",
    "collabAgentToolCall": "Collab agent call",
    "todoPlan": "Todo plan",
    "hookPrompt": "Hook prompt",
    "toolDetails": "Tool details",
    "agentDetails": "Agent details",
    "receiverThreads": "Receiver threads",
    "agentStates": "Agent states",
    "arguments": "Arguments",
    "result": "Result",
    "error": "Error",
    "action": "Action",
    "savedPath": "Saved path",
    "review": "Review",
    "runningCommand": "Running command",
    "commandOutput": "Command output",
    "waitingCommandOutput": "Waiting for command output...",
    "intermediateSteps": "Intermediate steps",
    "copyAgentOutput": "Copy output",
    "agentOutputCopied": "Output copied",
    "copyAgentOutputFailed": "Failed to copy output",
    "readingFiles": "Reading files, searching code, and listing files",
    "editingFiles": "Editing files",
    "waitingFileChanges": "Waiting for file changes...",
    "waitingApproval": "Waiting for approval",
    "commandApprovalRequired": "Codex requests permission to run this command",
    "fileApprovalRequired": "Codex requests permission to apply these file changes",
    "serverRequestWaiting": "Waiting for client request handling",
    "userInputRequest": "Codex requests input",
    "answer": "Answer",
    "submitAnswer": "Submit answer",
    "asyncUserQuestion": "Your answer is needed",
    "asyncUserQuestionHint": "The conversation will continue after you answer. Choose an option or enter your own response.",
    "asyncUserQuestionAnswerPlaceholder": "Enter an answer",
    "asyncUserQuestionSubmitted": "Submitted",
    "sending": "Sending...",
    "mcpElicitationRequest": "MCP server requests input",
    "schema": "Schema",
    "jsonResponse": "JSON response",
    "accept": "Accept",
    "permissionsRequest": "Codex requests additional permissions",
    "workingDirectory": "Working directory",
    "networkAccess": "Network access",
    "networkAccessRequested": "Network access requested",
    "fileSystemAccess": "File system access",
    "readAccess": "Read access",
    "writeAccess": "Write access",
    "approveForTurn": "Approve for this turn",
    "approveForSession": "Approve for session",
    "dynamicToolRequest": "Dynamic tool request",
    "dynamicToolResponse": "Dynamic tool response",
    "submitResponse": "Submit response",
    "submitResponseFailed": "Failed to submit response",
    "serverRequestMissingContext": "Cannot submit response: missing request context",
    "serverRequestResolved": "Request handled",
    "invalidJsonResponse": "Response is not valid JSON",
    "appServerError": "app-server error",
    "appServerShuttingDown": "Codex is updating or restarting. Wait for it to reconnect before trying again.",
    "appServerErrorCode": "Error type: {code}",
    "appServerWillRetry": "app-server is retrying automatically",
    "appServerWillNotRetry": "app-server will not retry automatically",
    "appServerAutoRetryTitle": "Gateway auto retry",
    "appServerAutoRetrying": "Model is at capacity, retrying automatically ({attempt}/{max})",
    "appServerAutoRetryExhausted": "Still failed after {max} automatic retries",
    "appServerNotification": "app-server notification",
    "threadErrorContext": "Thread: {title}",
    "showNotificationDetails": "Show details",
    "hideNotificationDetails": "Hide details",
    "notifications": {
      "terminalProcessFallback": "process {processId}",
      "threadArchived": {
        "title": "Thread archived",
        "message": "The app-server archived this thread."
      },
      "threadDeleted": {
        "title": "Thread deleted",
        "message": "The app-server deleted this thread."
      },
      "threadUnarchived": {
        "title": "Thread unarchived",
        "message": "This thread is visible in the normal list again."
      },
      "threadClosed": {
        "title": "Thread closed",
        "message": "The app-server closed the active connection for this thread."
      },
      "threadNameUpdated": {
        "title": "Thread title updated",
        "message": "New title: {name}"
      },
      "threadGoalUpdated": {
        "title": "Goal updated",
        "message": "{goal}"
      },
      "threadGoalCleared": {
        "title": "Goal cleared",
        "message": "The goal for this thread was cleared."
      },
      "skillsChanged": {
        "title": "Skills changed",
        "message": "The app-server detected a change in available skills."
      },
      "hookStarted": {
        "title": "Hook started",
        "message": "{event} · {status} {message}"
      },
      "hookCompleted": {
        "title": "Hook completed",
        "message": "{event} · {status} {message}"
      },
      "guardianReviewStarted": {
        "title": "Auto-approval review started",
        "message": "{action} · risk: {risk} · {rationale}"
      },
      "guardianReviewCompleted": {
        "title": "Auto-approval review completed",
        "message": "{action} · {status} · risk: {risk} · {rationale}"
      },
      "rawResponseItemCompleted": {
        "title": "Raw model response item completed",
        "message": "{item}"
      },
      "terminalWait": {
        "title": "Waited for background terminal",
        "message": "The agent is waiting for command: {command}"
      },
      "terminalInteraction": {
        "title": "Interacted with background terminal",
        "message": "The agent wrote to command stdin: {stdin}\nCommand: {command}"
      },
      "mcpToolCallProgress": {
        "title": "MCP tool progress",
        "message": "{message}"
      },
      "mcpOauthLoginCompleted": {
        "title": "MCP login completed",
        "message": "{server} completed OAuth login."
      },
      "mcpOauthLoginFailed": {
        "title": "MCP login failed",
        "message": "{server} login failed: {error}"
      },
      "mcpServerStatusUpdated": {
        "title": "MCP server status updated",
        "message": "{server} · {status} {failureReason} {error}"
      },
      "accountUpdated": {
        "title": "Account updated",
        "message": "Auth mode: {authMode} · plan: {planType}"
      },
      "accountRateLimitsUpdated": {
        "title": "Account rate limits updated",
        "message": "Plan: {plan} · limit: {limit} · reached: {reached}"
      },
      "appListUpdated": {
        "title": "App list updated",
        "message": "The response includes {count} apps."
      },
      "remoteControlStatusChanged": {
        "title": "Remote control status changed",
        "message": "{server} · {status}"
      },
      "externalAgentConfigImportProgress": {
        "title": "External agent config import in progress",
        "message": "{successes} succeeded, {failures} failed."
      },
      "externalAgentConfigImportCompleted": {
        "title": "External agent config import completed",
        "message": "{successes} succeeded, {failures} failed."
      },
      "fsChanged": {
        "title": "Filesystem changed",
        "message": "{count} paths changed: {paths}"
      },
      "threadCompacted": {
        "title": "Context compacted",
        "message": "The app-server compacted this thread context."
      },
      "modelRerouted": {
        "title": "Model rerouted",
        "message": "{from} -> {to}; reason: {reason}"
      },
      "modelVerification": {
        "title": "Model verification updated",
        "message": "Received {count} verification results: {items}"
      },
      "authRecoveryStarted": {
        "title": "Model provider authentication recovery started",
        "message": "{provider}: {message}"
      },
      "authRecoveryCompleted": {
        "title": "Model provider authentication recovered",
        "message": "{provider}: {message}"
      },
      "turnModerationMetadata": {
        "title": "Safety moderation metadata",
        "message": "This turn returned moderation metadata: {summary}"
      },
      "modelSafetyBufferingEnabled": {
        "title": "Safety buffering enabled",
        "message": "{model} is safety-buffering; faster model: {fasterModel}; reasons: {reasons}"
      },
      "modelSafetyBufferingDisabled": {
        "title": "Safety buffering disabled",
        "message": "{model} disabled safety buffering."
      },
      "warning": {
        "title": "app-server warning",
        "message": "{message}"
      },
      "guardianWarning": {
        "title": "Guardian warning",
        "message": "{message}"
      },
      "deprecationNotice": {
        "title": "Deprecation notice",
        "message": "{summary}"
      },
      "configWarning": {
        "title": "Config warning",
        "message": "{summary} {path}"
      },
      "fuzzyFileSearchUpdated": {
        "title": "File search updated",
        "message": "Query \"{query}\" returned {count} candidate files."
      },
      "fuzzyFileSearchCompleted": {
        "title": "File search completed",
        "message": "The fuzzy file search session finished."
      },
      "realtimeStarted": {
        "title": "Realtime session started",
        "message": "Realtime session: {session}"
      },
      "realtimeClosed": {
        "title": "Realtime session closed",
        "message": "Reason: {reason}"
      },
      "windowsWorldWritableWarning": {
        "title": "Windows sandbox path warning",
        "message": "{count} world-writable paths may not be protected by the sandbox: {paths}"
      },
      "windowsSandboxSetupCompleted": {
        "title": "Windows sandbox setup completed",
        "message": "Mode: {mode}"
      },
      "windowsSandboxSetupFailed": {
        "title": "Windows sandbox setup failed",
        "message": "Mode: {mode} · {error}"
      },
      "accountLoginCompleted": {
        "title": "Account login completed",
        "message": "Login ID: {loginId}"
      },
      "accountLoginFailed": {
        "title": "Account login failed",
        "message": "{error}"
      }
    },
    "chatgptAuthRefreshRequest": "ChatGPT auth token refresh",
    "chatgptAuthRefreshDescription": "App-server requested fresh externally managed ChatGPT auth tokens. Submit real tokens from the configured auth source.",
    "reason": "Reason",
    "previousAccount": "Previous account",
    "accessToken": "Access token",
    "chatgptAccountId": "ChatGPT account ID",
    "chatgptPlanType": "ChatGPT plan type",
    "protocolMismatch": "Protocol capability mismatch",
    "protocolMismatchDescription": "The app-server sent a request that this gateway did not advertise or cannot satisfy without a real client capability provider.",
    "approve": "Approve",
    "decline": "Decline",
    "filesChanged": "{count} files changed",
    "fileAdded": "Added",
    "fileDeleted": "Deleted",
    "fileMoved": "Moved",
    "fileUpdated": "Modified",
    "openChangedFile": "Open file: {path}",
    "expandFileDiff": "Expand diff: {path}",
    "collapseFileDiff": "Collapse diff: {path}",
    "noDiff": "This event did not include a diff",
    "imageAttachment": "Image attachment",
    "openImagePreview": "Open image preview",
    "copyImage": "Copy image",
    "imageCopied": "Image copied",
    "copyImageFailed": "Failed to copy image",
    "zoomIn": "Zoom in",
    "zoomOut": "Zoom out",
    "imageZoom": "Image zoom",
    "resetImageView": "Reset image view"
  }
}