{
  "rail": {
    "heading": "Workspaces",
    "new": "+ New",
    "fetchError": "Couldn't load workspaces",
    "empty": "No workspaces yet. Create one from \"+ New\".",
    "mine": "Mine",
    "mineTitle": "Workspace you own",
    "running": "{{count}} running",
    "runningTitle": "{{count}} tasks running",
    "runningAria": "{{count}} running",
    "group": {
      "integrated": "Integrated workspaces",
      "individual": "Individual workspaces"
    }
  },
  "page": {
    "railLabel": "Workspaces",
    "railList": "Workspace list",
    "expandRail": "Open the workspace list",
    "collapseRail": "Collapse the workspace list",
    "railResize": "Resize the workspace list",
    "workerGpu": "Workers / GPU"
  },
  "formDialog": {
    "title": {
      "create": "New workspace",
      "edit": "Edit workspace"
    },
    "description": {
      "create": "Create a workspace per client or project where results accumulate.",
      "edit": "Change the name, brand color, and description."
    },
    "close": "Close",
    "field": {
      "name": "Workspace name",
      "namePlaceholder": "e.g. Acme Co. project",
      "description": "Description (optional)",
      "descriptionPlaceholder": "A short summary of this workspace (shown next to the title)",
      "brandColor": "Brand color"
    },
    "colorSwatch": "Color {{color}}",
    "customColor": "Choose freely",
    "creating": "Creating…",
    "saving": "Saving…",
    "createButton": "Create",
    "error": {
      "nameRequired": "Enter a workspace name.",
      "updateFailed": "Couldn't update the workspace.",
      "createFailed": "Couldn't create the workspace."
    }
  },
  "detail": {
    "empty": {
      "title": "Select a workspace",
      "hint": "Open one from the list on the left, or create a new workspace with the \"New\" button above."
    },
    "tab": {
      "chat": "Chat",
      "files": "Files",
      "apps": "Apps",
      "calendar": "Calendar",
      "schedules": "Schedules",
      "settings": "Settings"
    },
    "editSpace": "Edit workspace",
    "deleteSpace": "Delete workspace",
    "deletePrompt": "Delete \"{{title}}\"?",
    "deleteConfirmButton": "Delete",
    "sharedMembers": "Shared members ({{count}}): {{names}}"
  },
  "chat": {
    "listHeading": "Chats in this workspace",
    "new": "+ New",
    "scope": {
      "mine": "Mine",
      "others": "Other members"
    },
    "selectHint": "Pick a chat from the list on the left, or start one with \"+ New\".",
    "empty": {
      "others": "No chats created by other members.",
      "none": "This workspace has no chats yet. Send a request to the agent from \"+ New\".",
      "filesHint": "Files placed in the Files tab are used as input for requests. Results are saved to output/ in the Files tab.",
      "noMatch": "No chats match your filters."
    }
  },
  "conversation": {
    "deleteConfirm": "Delete this chat? This action can't be undone.",
    "backToList": "Back to list"
  },
  "chatDetailSplit": {
    "resizeLabel": "Resize chat and detail panes"
  },
  "files": {
    "loadError": "Couldn't load files",
    "previewError": "Couldn't open the file",
    "uploadedCount": "Added {{count}} file(s)",
    "uploadFailed": "Upload failed: {{msg}}",
    "newFolderPrompt": "Enter a name for the new folder",
    "folderNameInvalid": "Folder names can't contain / or \\",
    "folderCreated": "Created folder \"{{name}}\"",
    "folderCreateFailed": "Couldn't create the folder: {{msg}}",
    "renamePrompt": "Enter a new name",
    "nameInvalid": "Names can't contain / or \\",
    "renamed": "Renamed \"{{from}}\" to \"{{to}}\"",
    "renameFailed": "Rename failed: {{msg}}",
    "alreadyThere": "Already in that location",
    "moveTargetFolder": "\"{{name}}\"",
    "moveTargetRoot": "the root",
    "moved": "Moved {{moved}} item(s) to {{where}}",
    "movedWithFailures": "Moved {{moved}} item(s) to {{where}} ({{failed}} failed)",
    "deleteConfirm": "Delete {{count}} item(s)? Folders are deleted with all their contents. This action can't be undone.",
    "deletedCount": "Deleted {{count}} file(s)",
    "deleteFailed": "Delete failed: {{msg}}",
    "downloadFailed": "Download failed: {{msg}}",
    "rename": "Rename",
    "renameAria": "Rename {{name}}",
    "mkdirTitle": "Create a new folder in the current folder",
    "newFolder": "New folder",
    "inputHint": "Files placed here become input for the agent in this workspace's chats.",
    "folderNotSupported": "Folders aren't supported. Please choose files.",
    "run": "Run",
    "runAsApp": "Run as app",
    "empty": "No files.",
    "emptyManage": "No files. Drag and drop here, or add with \"+ Add\"."
  },
  "apps": {
    "heading": "Workspace apps",
    "refresh": "Reload",
    "fetchError": "Couldn't load the app list.",
    "open": "Open",
    "empty": {
      "title": "No apps yet",
      "body": "Ask the agent to \"build a workspace app\" and it will appear here.",
      "location": "Apps live in the workspace's <code>apps/</code> folder (<code>apps/{name}/index.html</code>)."
    }
  },
  "appShare": {
    "checking": "Checking the share link…",
    "issued": "Public link issued",
    "copyUrl": "Copy URL",
    "copied": "Copied",
    "revoke": "Revoke",
    "revokeConfirm": "Revoke the public share link for \"{{appName}}\"?\nOnce revoked, the current URL will stop working.",
    "warning": "⚠ Anyone can view this without logging in. Read-only (no writing or deleting). In addition to this app's files, <code>output/</code> (a shared folder collecting <strong>results from every chat</strong> in this workspace) is also exposed. Check before sharing if there are results you don't want visible.",
    "create": "Create a public link",
    "creating": "Creating…",
    "opError": "Operation failed. Please try again."
  },
  "appRunner": {
    "loadError": "Couldn't load the app",
    "dialogLabel": "Workspace app {{title}}",
    "close": "Close",
    "accessLabel": {
      "writable": "This app can access the workspace's files",
      "readonly": "Public share (read-only)"
    },
    "accessTitle": {
      "writable": "This app can access the workspace's files (within your permissions)",
      "readonly": "Public share: read-only. Files can only be read, not written or deleted."
    },
    "writeConfirm": {
      "label": "Write confirmation",
      "body": "The app \"{{title}}\" is trying to write to <path>{{path}}</path>. Allow it?",
      "deny": "Deny",
      "allow": "Allow"
    }
  },
  "calendar": {
    "monthLabel": "{{month}}/{{year}}",
    "prevMonth": "Previous month",
    "nextMonth": "Next month",
    "close": "Close",
    "fetchError": "Couldn't load the calendar.",
    "emptyHint": "Select a date to see that day's tasks, changed files, and events.",
    "taskCount": "{{count}} tasks",
    "taskFallback": "Task #{{id}}",
    "barTitle": "{{title}} ({{range}})",
    "filter": {
      "tasks": "Tasks",
      "files": "Changed files",
      "events": "Events"
    },
    "day": {
      "tasks": "Tasks",
      "noTasks": "No tasks on this day.",
      "changedFiles": "Changed files",
      "noChangedFiles": "No files changed on this day.",
      "events": "Events",
      "noEvents": "No events.",
      "addEvent": "+ Add event",
      "editEvent": "Edit",
      "deleteEventConfirm": "Delete this event?",
      "agent": "🤖 Agent"
    },
    "form": {
      "titleRequired": "Enter a title.",
      "endAfterStart": "The end date must be on or after the start date.",
      "endTimeAfterStart": "The end time must be on or after the start time.",
      "saveFailed": "Couldn't save.",
      "titlePlaceholder": "Event title",
      "start": "Start",
      "end": "End",
      "endTimeHint": "Enter a start time to specify an end time",
      "backToSingleDay": "Back to single day",
      "notePlaceholder": "Notes (optional)",
      "update": "Update",
      "add": "Add"
    }
  },
  "crossCalendar": {
    "close": "Close",
    "dotTitle": "{{name}}: {{count}} tasks",
    "barTitlePrefix": "{{name}}: ",
    "barTitle": "{{title}} ({{range}})",
    "emptyHint": "Select a date to see each workspace's tasks and events for that day.",
    "noActiveSpaces": "No workspaces were active on this day.",
    "noItems": "Nothing to show.",
    "taskFallback": "Task #{{id}}"
  },
  "joinSpace": {
    "title": "Workspace invitation",
    "role": {
      "editor": "Editor",
      "viewer": "Viewer"
    },
    "unauthorized": {
      "body": "You need to log in to join. After logging in, you'll return to this invitation page.",
      "login": "Log in and join"
    },
    "invalid": {
      "title": "Invalid link",
      "body": "This invitation link may have expired or been revoked. Ask the person who shared it to issue a new link.",
      "home": "Home"
    },
    "ok": {
      "joinAs": {
        "lead": " ",
        "roleQuoted": "as \"{{role}}\"",
        "trail": "."
      },
      "cancel": "Cancel",
      "join": "Join",
      "joining": "Joining…"
    }
  },
  "members": {
    "heading": "Members",
    "intro": "Members sharing this workspace. Editors can edit tasks, files, and the calendar; viewers can only view.",
    "fetchError": "Couldn't load members: {{msg}}",
    "remove": "Remove",
    "removeConfirm": "Remove {{who}} from this workspace?",
    "inviteButton": "Invite members",
    "role": {
      "owner": "Owner",
      "editor": "Editor",
      "viewer": "Viewer"
    },
    "toast": {
      "roleChangeFailed": "Couldn't change the role: {{msg}}",
      "removeFailed": "Couldn't remove the member: {{msg}}",
      "addFailed": "Couldn't add the member: {{msg}}",
      "inviteCreateFailed": "Couldn't create the invite link: {{msg}}",
      "inviteRevokeFailed": "Couldn't revoke the invite link: {{msg}}",
      "copyFailed": "Couldn't copy. Please select it manually."
    },
    "invite": {
      "title": "Invite link",
      "description": "Anyone with the link can log in and join this workspace with the chosen role. You can invite people who aren't in your organization too.",
      "copy": "Copy",
      "copied": "Copied",
      "roleLabel": "Role: {{role}}",
      "expiresAt": " · Expires: {{date}}",
      "noExpiry": " · No expiry",
      "regenerate": "Regenerate",
      "revoke": "Revoke",
      "create": "Create an invite link",
      "creating": "Creating…",
      "expiry": {
        "never": "No expiry",
        "days7": "7 days",
        "days30": "30 days"
      }
    },
    "picker": {
      "authRequired": "Enable authentication to share workspaces.",
      "close": "Close",
      "orgNote": "Only members of the same organization are shown.",
      "searchPlaceholder": "Search by name or email",
      "allAdded": "All members of the same organization have already been added to this workspace.",
      "noCandidates": "No users to add. Only members of the same organization appear as candidates.",
      "add": "Add",
      "adding": "Adding…"
    }
  },
  "browser": {
    "deleteConfirm": "Delete \"{{name}}\"?",
    "status": {
      "pending": "Pending",
      "active": "Active",
      "expired": "Expired",
      "revoked": "Revoked",
      "error": "Error"
    },
    "toast": {
      "sessionDeleteFailed": "Couldn't delete the session: {{msg}}",
      "sessionTestFailed": "Couldn't verify the session: {{msg}}",
      "deleteFailed": "Delete failed: {{msg}}",
      "contentFetchFailed": "Couldn't load the content: {{msg}}"
    },
    "sessions": {
      "heading": "Browser sessions",
      "add": "Add session",
      "intro": "Logged-in browser sessions shared in this workspace. Each session is encrypted with its creator's key, so only the creator can use it.",
      "empty": "This workspace has no browser sessions yet.",
      "emptyHint": "Log in and save from \"Add session\".",
      "creatorOnly": "Creator only",
      "creatorOnlyHint": "This session is encrypted with the creator's key. You can view it, but other members can't decrypt or use it.",
      "test": "Verify"
    },
    "macros": {
      "title": "Browser macros",
      "empty": "This workspace has no browser macros yet.",
      "hint": "When the agent records browser actions, they're saved as macros in this workspace."
    },
    "recordings": {
      "title": "Recordings",
      "empty": "This workspace has no recordings yet.",
      "hint": "Recordings of browser actions are saved to this workspace's folder."
    }
  },
  "settings": {
    "navLabel": "Workspace settings",
    "nav": {
      "agents": "AGENTS.md",
      "memory": "Memory",
      "pieces": "Pieces",
      "skills": "Skills",
      "mcp": "MCP",
      "ssh": "SSH",
      "browser": "Browser",
      "tools": "Tools",
      "python": "Python",
      "members": "Members"
    },
    "pieces": {
      "createFailed": "Couldn't create the piece: {{msg}}",
      "default": "Default",
      "custom": "Custom",
      "none": "(none)",
      "new": "New piece",
      "selectHint": "Select a piece from the left."
    }
  },
  "tools": {
    "heading": "Tool settings",
    "intro": "Control which tool categories are available to tasks in this workspace. Sensitive tools are disabled by default.",
    "enabledCount": "<strong>{{count}}</strong> categories currently enabled",
    "standardCategories": "Standard categories",
    "noStandardCategories": "(No standard categories)",
    "sensitiveTools": "Sensitive tools",
    "sensitiveWarning": "These involve powerful operations. Enable only when needed.",
    "noSensitiveCategories": "(No sensitive categories)",
    "readonlyReason": "Only the owner can change this",
    "saving": "Saving…",
    "saved": "Saved",
    "saveFailedInline": "Couldn't save",
    "fetchError": "Couldn't load the tool policy: {{msg}}",
    "toast": {
      "saveFailed": "Couldn't save the tool policy: {{msg}}"
    },
    "sensitiveNote": {
      "ssh": "Allows connecting to remote shells. Commands can be executed on the target servers.",
      "browser": "Allows real browser actions. Visiting websites and operating forms will be performed.",
      "Bash": "Allows arbitrary command execution. Any shell command can run on the host system.",
      "SpawnSubTask": "Allows decomposition into parallel subtasks (separate jobs). Each child occupies a worker and a GPU slot. The serial 'delegate' tool is usually enough; enable this only when parallel execution is genuinely required."
    }
  },
  "python": {
    "heading": "Python Packages",
    "intro": "Add Python packages (wheels) that this workspace's agents can use. Packages added here are importable only inside this workspace and never affect other workspaces.",
    "disabled": "This feature is disabled. An admin can enable it via python_packages.enabled in config.yaml.",
    "preflightBad": "pip is not available on the server, so installs cannot run.",
    "addLabel": "Add a package",
    "addHint": "Only packages with a wheel are allowed (e.g. requests or requests==2.32.3). Pin a version with ==. Standard-library and preinstalled names cannot be added.",
    "add": "Add",
    "installing": "Installing…",
    "installedHeading": "Installed",
    "none": "Nothing added yet.",
    "remove": "Remove",
    "readonly": "Only this workspace's owner or an admin can edit.",
    "fetchError": "Failed to load packages: {{msg}}",
    "added": "Package added.",
    "addFailed": "Add failed: {{msg}}",
    "removed": "Package removed.",
    "removeFailed": "Remove failed: {{msg}}"
  }
}
