{
  "mobile": {
    "backAgainToExit": "Press back again to exit"
  },
  "common": {
    "autoDetect": "Auto-detect",
    "back": "Back",
    "browse": "Browse",
    "cancel": "Cancel",
    "close": "Close",
    "add": "Add",
    "remove": "Remove",
    "save": "Save",
    "restart": "Restart",
    "settings": "Settings",
    "version": "Version",
    "done": "Done",
    "loading": "Loading..."
  },
  "messageError": {
    "showDetails": "Show details",
    "hideDetails": "Hide details",
    "copy": "Copy"
  },
  "messageList": {
    "loadOlder": "Load older messages",
    "loadOlderFailed": "Could not load older messages. Try again."
  },
  "settings": {
    "subtitle": "Manage app preferences and providers for active workspace.",
    "tabs": {
      "general": "General",
      "providers": "Providers",
      "plugins": "Plugins",
      "tools": "Tools"
    },
    "plugins": {
      "title": "Plugins",
      "unavailable": "Plugin management was removed by the last harness migration fix. The entry point is visible again; management actions need to be reconnected to the new harness API.",
      "installed": "Installed",
      "discover": "Discover",
      "project": "Project",
      "global": "Global",
      "globalScope": "Install globally",
      "published": "Published",
      "custom": "Custom",
      "searchPlaceholder": "Search plugins…",
      "install": "Install",
      "installSourcePlaceholder": "Install from source, e.g. owner/repo@skill-name",
      "noResults": "No plugins found.",
      "noPlugins": "No plugins installed.",
      "emptyScope": "No plugins in this scope.",
      "pluginGroups": "Plugin Groups",
      "general": "General",
      "capabilityCount": "{{count}} capabilities",
      "updateGroup": "Update group",
      "update": "Update",
      "installNamed": "Install {{name}}",
      "installedNamed": "{{name}} installed",
      "updateNamed": "Update {{name}}",
      "removeNamed": "Remove {{name}}",
      "updateGroupNamed": "Update plugin group {{name}}",
      "removeGroupNamed": "Remove plugin group {{name}}",
      "invalidInstallSource": "Enter a valid source (e.g. owner/repo@skill-name or a URL)."
    },
    "general": {
      "agentBackend": "Harness",
      "darkMode": "Dark mode",
      "appearance": "Appearance",
      "themeLight": "Light",
      "themeDark": "Dark",
      "themeSystem": "System",
      "contrast": "Contrast",
      "accent": "Accent",
      "accentPreset": {
        "default": "Standard",
        "blue": "Blue",
        "green": "Green",
        "purple": "Purple",
        "orange": "Orange",
        "red": "Red",
        "teal": "Teal"
      },
      "customAccent": "Custom accent color",
      "codeFontSize": "Code font size",
      "language": "Language",
      "defaultChatDirectory": "Default chat directory",
      "defaultChatDirectoryHelp": "New chats start in this working directory.",
      "newChatModelBehavior": "LLM model for new chats",
      "newChatModelBehaviorHelp": "Choose how OpenGUI preselects the LLM model when starting a fresh chat.",
      "newChatModelAsk": "Choose every time",
      "newChatModelLast": "Use last LLM model",
      "newChatModelWorkspaceDefault": "Use workspace default",
      "desktopNotifications": "Desktop notifications",
      "blockedByBrowser": "Blocked by browser",
      "fileManager": "File manager",
      "fileManagerHelp": "Command to open your file manager (e.g. nemo, nautilus). Leave empty to auto-detect.",
      "terminal": "Terminal",
      "terminalHelp": "Command to open your terminal (e.g. ghostty, kitty). Leave empty to auto-detect.",
      "hideOldModels": "Hide old models",
      "months": "months",
      "hideOldModelsHelp": "Selected and favorite models always stay visible. Models without a valid release date also stay visible.",
      "restartLocalBackend": "Restart Local Backend",
      "restartLocalBackendTitle": "Restart Local Backend?",
      "restartLocalBackendDescription": "This reloads OpenGUI's local backend and then refreshes the app. Running turns may be interrupted."
    }
  },
  "sidebar": {
    "allProjectsPinned": "All projects pinned",
    "chats": "Chats",
    "clearSearch": "Clear sidebar search",
    "loadMore": "Load more ({{count}})",
    "newChat": "New Chat",
    "newSession": "New session",
    "noChats": "No chats",
    "noMatches": "No matches for \"{{query}}\"",
    "noSessionsYet": "No sessions yet",
    "pinned": "Pinned",
    "projects": "Projects",
    "addProject": "Add project",
    "searchPlaceholder": "Search projects and sessions...",
    "showLess": "Show less",
    "title": "Sidebar",
    "mobileDescription": "Displays the mobile sidebar.",
    "untitled": "Untitled",
    "noProjectsYet": "No projects yet",
    "needWorkspaceBeforeProjects": "Add a workspace before you can connect projects."
  },
  "sessionMenu": {
    "pin": "Pin to top",
    "unpin": "Unpin",
    "rename": "Rename",
    "setColor": "Set color",
    "tags": "Tags",
    "addTag": "Add tag...",
    "moveToProject": "Move to project",
    "removeFromProject": "Remove from {{project}}",
    "deleteSession": "Delete session",
    "deleteSessionConfirm": "Delete \"{{title}}\"?\n\nThis permanently deletes the session and cannot be undone."
  },
  "projectMenu": {
    "pinProject": "Pin project",
    "unpinProject": "Unpin project",
    "copyAbsolutePath": "Copy absolute path",
    "openInFileBrowser": "Open in file browser",
    "openInTerminal": "Open in terminal",
    "newSession": "New session",
    "collapseProject": "Collapse project",
    "expandProject": "Expand project",
    "newWorktree": "New worktree...",
    "worktrees": "Worktrees",
    "merge": "Merge",
    "openPullRequest": "Open pull request",
    "removeProject": "Close project",
    "closeOtherProjects": "Close other projects",
    "createPullRequest": "Create PR"
  },
  "prompt": {
    "inputLabel": "Message input",
    "selectOrCreateSession": "Select or create a session...",
    "interruptAndSend": "Interrupt and send...",
    "steerDirection": "Steer the model into a direction...",
    "queueMessage": "Queue a message...",
    "message": "Message...",
    "uploadingFiles": "Uploading files…",
    "add": "Add",
    "addFile": "Add file",
    "mcps": "MCPs",
    "newWorktree": "New worktree",
    "currentRootWorktree": "Current branch of the root worktree.",
    "queueTitle": "Queue: wait for full response, then send (Ctrl/Cmd+D to toggle)",
    "steerTitle": "Steer: wait for current part to finish, then send (Ctrl/Cmd+D to toggle)",
    "queue": "Queue",
    "steer": "Steer",
    "stop": "Stop",
    "stopGenerating": "Stop generating",
    "send": "Send",
    "sendMessage": "Send message",
    "chooseHarnessAndModelBeforeSend": "Choose a harness and model before sending."
  },
  "variantSelector": {
    "off": "off",
    "thinkingEffort": "Thinking effort: {{level}} (click or Ctrl+T to cycle, Ctrl+Shift+T to cycle backward)"
  },
  "agentSelector": {
    "placeholder": "Agent"
  },
  "modelSelector": {
    "selectModel": "Select model",
    "chooseHarnessAndModel": "Choose harness & model",
    "dialogTitle": "Choose harness & model",
    "searchPlaceholder": "Search provider, model, or id...",
    "favorites": "Favorites",
    "recent": "Recent",
    "harnessLocked": "Harness is locked for this session.",
    "backendLocked": "Backend locked for this session.",
    "changeHarness": "Change harness",
    "loadingCatalog": "Loading models for this project…",
    "noModelsForHarness": "No models for this harness in this project.",
    "noModelsForHarnessHint": "Try another harness or check provider credentials in Settings.",
    "openSettings": "Open Settings",
    "harnessNotInstalled": "CLI not installed",
    "noHarnessInstalled": "No harness CLI is installed. Install one in Settings to choose a model.",
    "checkingHarnesses": "Checking installed harnesses…",
    "harnessCliFound": "Installed — connect in Settings if models are missing",
    "harnessReady": "{{count}} models in inventory",
    "noModelsMatch": "No models match \"{{query}}\".",
    "addFavorite": "Add to favorites",
    "removeFavorite": "Remove from favorites"
  },
  "messageActions": {
    "contextCompacted": "Context compacted",
    "revertToMessage": "Revert to this message",
    "forkFromMessage": "Fork from this message",
    "showMore": "Show more",
    "showLess": "Show less"
  },
  "toolOutput": {
    "showRaw": "Show raw",
    "rawTitle": "Raw tool output",
    "rawDescription": "Original textual output returned by the tool.",
    "copyRaw": "Copy raw"
  },
  "workspace": {
    "addTitle": "Add workspace",
    "editTitle": "Edit workspace",
    "addDescription": "Connect to an OpenGUI Backend as a new workspace.",
    "editDescription": "Rename this workspace or update its access token. Create a new workspace to use a different Backend URL.",
    "name": "Name",
    "namePlaceholder": "e.g. Cloud Production",
    "backendUrl": "Backend URL",
    "backendUrlPlaceholder": "https://your-server.example.com",
    "accessToken": "Access token",
    "optional": "optional",
    "accessTokenPlaceholder": "Paste OPENGUI_AUTH_TOKEN",
    "addWorkspace": "Add workspace",
    "toggleSidebar": "Toggle Sidebar",
    "requiredBeforeProject": "Add a workspace before connecting a project.",
    "addProjectRequiresWorkspace": "Create a workspace first"
  },
  "mcp": {
    "title": "MCPs",
    "description": "Toggle MCP servers on or off for this session.",
    "noManagement": "Current backend has no MCP management.",
    "noneConfigured": "No MCP servers configured.",
    "connected": "Connected",
    "disabled": "Disabled",
    "failed": "Failed",
    "needsAuth": "Needs auth",
    "needsRegistration": "Needs registration",
    "unknown": "Unknown",
    "loadTimedOut": "Loading tools is taking longer than expected.",
    "retry": "Retry"
  },
  "contextStatus": {
    "compacting": "Compacting",
    "contextWindow": "Context window",
    "tokens": "tokens",
    "cost": "Cost",
    "compact": "Compact"
  },
  "worktree": {
    "newWorktree": "New Worktree",
    "createFor": "Create a new git worktree for",
    "branch": "Branch",
    "newBranch": "New branch",
    "existingBranch": "Existing branch",
    "branchName": "Branch name",
    "selectBranch": "Select branch",
    "loadingBranches": "Loading branches...",
    "chooseBranch": "Choose a branch...",
    "path": "Worktree path",
    "pathPlaceholder": "/path/to/worktree",
    "pathHelp": "A new directory will be created at this path.",
    "creating": "Creating...",
    "createWorktree": "Create worktree",
    "setupTitle": "Worktree Setup",
    "detectingSetup": "Detecting project setup...",
    "detectedSetup": "Detected {{file}} in {{project}}. Run setup?",
    "runningSetup": "Running setup command...",
    "setupComplete": "Setup completed successfully.",
    "setupFailed": "Setup command failed.",
    "skip": "Skip",
    "run": "Run",
    "detectedCommand": "Detected command",
    "setupFinished": "Setup finished - worktree is ready."
  },
  "worktreeCleanup": {
    "title": "No sessions remaining",
    "descriptionPrefix": "The worktree",
    "branch": "branch",
    "descriptionSuffix": "has no active sessions. Would you like to remove it?",
    "keep": "Keep",
    "remove": "Remove",
    "removing": "Removing...",
    "deleteFromDisk": "Also delete worktree files from disk"
  },
  "providers": {
    "searchPlaceholder": "Search providers...",
    "managerSwitcher": "Provider manager",
    "noManagement": "No Harness with provider management is available.",
    "loadFailed": "Could not load providers. Is the OpenGUI Backend connected?",
    "allProviders": "All providers",
    "customProvider": "Custom provider",
    "popular": "Popular",
    "other": "Other",
    "connected": "Connected",
    "connect": "Connect",
    "connectNamed": "Connect {{name}}",
    "disconnect": "Disconnect",
    "disconnectNamed": "Disconnect {{name}}",
    "disconnectConfirm": "Disconnect {{name}}?",
    "fromEnv": "from env",
    "fromEnvTitle": "Connected from your environment variables",
    "noProvidersFound": "No providers found for \"{{query}}\"",
    "providerId": "Provider ID",
    "displayName": "Display name",
    "baseUrl": "Base URL",
    "apiKey": "API Key",
    "connectedMessage": "{{name}} connected",
    "loading": "Loading...",
    "chooseConnectMethod": "Choose how to connect:",
    "useDifferentMethod": "Use a different method",
    "oauthTimeout": "OAuth timeout - please try again",
    "invalidCode": "Invalid code",
    "openAuthorizationPage": "Open authorization page",
    "authorizationCode": "Authorization code",
    "authorizationCodePlaceholder": "Paste the code here",
    "submitCode": "Submit code",
    "waitingAuthorization": "Waiting for authorization...",
    "startingAuthorization": "Starting authorization...",
    "envReferenceHelp": "Use {env:VAR_NAME} to reference an environment variable.",
    "models": "Models",
    "customHeaders": "Custom headers",
    "addCustomProvider": "Add custom provider",
    "providerIdRequired": "Provider ID is required",
    "providerIdInvalid": "Provider ID must be lowercase alphanumeric with hyphens/underscores",
    "displayNameRequired": "Display name is required",
    "baseUrlRequired": "Base URL is required",
    "baseUrlInvalid": "Base URL must start with http:// or https://",
    "modelIdsRequired": "All model IDs must be filled in",
    "modelNamesRequired": "All model names must be filled in",
    "duplicateModelIds": "Duplicate model IDs found"
  },
  "setupWizard": {
    "title": "Welcome to OpenGUI",
    "setupAgentsTitle": "Set up coding agents",
    "chooseStartTitle": "Choose where new chats start",
    "readyTitle": "You're ready",
    "setupSavedTitle": "Setup saved",
    "checkingComputer": "Checking this computer",
    "lookingForHarnesses": "Looking for installed Harness CLIs.",
    "codingAgentFound": "Coding agent found",
    "codingAgentFoundDescription": "OpenGUI found a coding agent on this computer.",
    "noHarnessInstalledTitle": "No Harness installed",
    "noHarnessInstalledDescription": "OpenGUI needs a coding agent before it can work on your files.",
    "checkHarnessesFailedTitle": "Could not check Harnesses",
    "checkHarnessesFailedDescription": "You can continue setup and check again later.",
    "checkAgain": "Check again",
    "harnessInventoryTitle": "Harness inventory",
    "modelsCount": "{{count}} models",
    "cliFound": "CLI found",
    "harnessReadyDescription": "This agent harness is ready to use.",
    "harnessCliFoundDescription": "The CLI is installed. Model and provider selection happens later in OpenGUI.",
    "harnessNotFoundDescription": "The CLI was not found on this computer.",
    "notFound": "not found",
    "defaultChatDirectoryTitle": "Default chat directory",
    "defaultChatDirectoryDescription": "New chats start in this folder when no project is selected.",
    "folderPlaceholder": "Choose a folder or leave empty",
    "continue": "Continue",
    "readyToWorkTitle": "OpenGUI is ready to work",
    "setupHarnessLaterTitle": "You can set up a Harness later",
    "readyToWorkDescription": "Start by connecting a project or opening a session.",
    "setupHarnessLaterDescription": "OpenGUI will open now. Agent sends need a Harness before they can run.",
    "openOpenGui": "Open OpenGUI"
  },
  "languages": {
    "af": "Afrikaans",
    "ar": "العربية",
    "az": "Azərbaycan dili",
    "bg": "Български",
    "bn": "বাংলা",
    "bs": "Bosanski",
    "ca": "Català",
    "cs": "Čeština",
    "cy": "Cymraeg",
    "da": "Dansk",
    "de": "Deutsch",
    "el": "Ελληνικά",
    "en": "English",
    "eo": "Esperanto",
    "es": "Español",
    "et": "Eesti",
    "eu": "Euskara",
    "fa": "فارسی",
    "fi": "Suomi",
    "fr": "Français",
    "ga": "Gaeilge",
    "gl": "Galego",
    "gu": "ગુજરાતી",
    "he": "עברית",
    "hi": "हिन्दी",
    "hr": "Hrvatski",
    "hu": "Magyar",
    "hy": "Հայերեն",
    "id": "Bahasa Indonesia",
    "it": "Italiano",
    "ja": "日本語",
    "ka": "ქართული",
    "kk": "Қазақ тілі",
    "km": "ខ្មែរ",
    "kn": "ಕನ್ನಡ",
    "ko": "한국어",
    "lo": "ລາວ",
    "lt": "Lietuvių",
    "lv": "Latviešu",
    "mk": "Македонски",
    "ml": "മലയാളം",
    "mn": "Монгол",
    "mr": "मराठी",
    "ms": "Bahasa Melayu",
    "my": "မြန်မာဘာသာ",
    "nb": "Norsk Bokmål",
    "ne": "नेपाली",
    "nl": "Nederlands",
    "pa": "ਪੰਜਾਬੀ",
    "pl": "Polski",
    "pt": "Português",
    "ro": "Română",
    "ru": "Русский",
    "si": "සිංහල",
    "sk": "Slovenčina",
    "sl": "Slovenščina",
    "sq": "Shqip",
    "sr": "Српски",
    "sv": "Svenska",
    "sw": "Kiswahili",
    "ta": "தமிழ்",
    "te": "తెలుగు",
    "th": "ไทย",
    "tl": "Filipino",
    "tr": "Türkçe",
    "uk": "Українська",
    "ur": "اردو",
    "uz": "O'zbek",
    "vi": "Tiếng Việt",
    "zh": "中文"
  },
  "startup": {
    "checkingLocalServer": "Checking local server...",
    "startingLocalServer": "Starting local server..."
  },
  "projectHarnessStatus": {
    "title": "Harness errors for {{project}}",
    "hint": "You can still type and pick another harness in the model selector. Session history may be incomplete for the harnesses listed above.",
    "sidebarSummary": "{{count}} harness error(s)"
  },
  "sessionError": {
    "title": "Agent error",
    "nextStep": "Next step: run this command in your terminal, then retry:",
    "openTerminal": "Open terminal",
    "messagesLoadFailed": "Could not load messages for this session."
  },
  "updateDialog": {
    "title": "Update Available",
    "description": "A new version of OpenGUI ({{latestVersion}}) is available. You are currently running v{{currentVersion}}.",
    "currentVersion": "Current version: v{{currentVersion}}.",
    "dismiss": "Dismiss",
    "open": "Open"
  },
  "emptyStates": {
    "noProjectTitle": "No project connected",
    "noProjectCanStart": "Connect a project now or start a chat.",
    "noProjectConnect": "Connect a project to start chatting.",
    "startChat": "Start a chat",
    "noSessionTitle": "No session selected",
    "noSessionDescription": "Select a session or start a new one from a connected project.",
    "noWorkspaceTitle": "No workspace configured",
    "noWorkspaceDescription": "A workspace is your OpenGUI backend. Create one, then add projects to it.",
    "addWorkspace": "Add workspace"
  },
  "mergeDialog": {
    "failed": "Merge failed",
    "merging": "Merging...",
    "mergingDescription": "Merging {{branch}} into the current branch",
    "success": "Merge successful",
    "successDescription": "{{branch}} has been merged successfully.",
    "successDescriptionDelete": "{{branch}} has been merged successfully. The worktree will be removed.",
    "conflicts": "Merge conflicts",
    "conflictsDescription": "Merging {{branch}} produced conflicts in {{count}} file(s):",
    "abort": "Abort merge",
    "fixWithAI": "Fix with AI",
    "title": "Merge branch",
    "description": "Merge {{branch}} into the current branch of {{repoName}}",
    "deleteWorktreeLabel": "Delete worktree after successful merge",
    "deleteWorktreeDescription": "Removes the worktree directory and disconnects it from the project"
  },
  "questionPanel": {
    "title": "The assistant has a question",
    "customAnswerPlaceholder": "Type a custom answer...",
    "submit": "Submit",
    "dismiss": "Dismiss"
  },
  "diff": {
    "noLineDiffAvailable": "No line diff available."
  },
  "reasoning": {
    "thinking": "Thinking",
    "thinkingRunning": "Thinking..."
  },
  "toolLabels": {
    "bash": {
      "running": "Running",
      "done": "Ran"
    },
    "read": {
      "running": "Reading",
      "done": "Read"
    },
    "edit": {
      "running": "Editing",
      "done": "Edited"
    },
    "write": {
      "running": "Writing",
      "done": "Wrote"
    },
    "grep": {
      "running": "Searching",
      "done": "Searched"
    },
    "glob": {
      "running": "Globbing",
      "done": "Globbed"
    },
    "task": {
      "running": "Running",
      "done": "Ran"
    },
    "todo": {
      "running": "Writing todos",
      "doneOne": "Wrote {{count}} todo",
      "doneOther": "Wrote {{count}} todos"
    },
    "question": {
      "running": "Asking",
      "doneOne": "Asked {{count}} question",
      "doneOther": "Asked {{count}} questions"
    },
    "patch": {
      "created": "Created",
      "deleted": "Deleted",
      "moved": "Moved",
      "patched": "Patched"
    },
    "fileCountOther": "{{count}} files",
    "matchCountOne": "{{count}} match",
    "matchCountOther": "{{count}} matches"
  },
  "attachments": {
    "image": "Image",
    "fileAttachment": "File attachment",
    "imageAttachment": "Image attachment {{count}}",
    "closeImagePreview": "Close image preview"
  },
  "projectPath": {
    "up": "Up",
    "noFolders": "No folders",
    "allowedRoots": "Allowed roots: {{roots}}",
    "serverDefault": "server default",
    "title": "Open Project",
    "webLocalDescription": "Choose a project path on the OpenGUI server. If you use this from a phone, paths are server paths, not phone files.",
    "localDescription": "Open a local project folder for this window. You can also paste an absolute path manually.",
    "remoteDescription": "This window is connected to a remote server, so choose a project by entering the path on that server.",
    "openProject": "Open project",
    "projectPathLabel": "Project path",
    "browseServer": "Browse server",
    "loadingServerFolders": "Loading server folders..."
  },
  "fileMention": {
    "searching": "Searching...",
    "typeToSearch": "Type to search files",
    "noMatchingFiles": "No matching files",
    "searchFailed": "File search failed"
  },
  "queueList": {
    "reorderQueuedPrompt": "Reorder queued prompt",
    "sendNow": "Send now",
    "interrupt": "interrupt",
    "steer": "steer",
    "edit": "Edit",
    "moveToTop": "Move to top",
    "moveToBottom": "Move to bottom"
  },
  "permissionPanel": {
    "title": "Permission: {{permission}}",
    "allowOnce": "Allow once",
    "alwaysAllow": "Always allow",
    "reject": "Reject"
  },
  "revertBanner": {
    "reverted": "{{count}} message reverted",
    "reverted_plural": "{{count}} messages reverted",
    "restore": "Restore"
  }
}
