CapabilityPage puts a suggestion in the chat composer, which the reader sees and edits before sending -- user-facing, so translated. The hidden promptFrontmatter beside it is NOT: that one instructs the agent and carries file paths. The scanner never flagged it, correctly, because it opens with a tag rather than a capital. officer-web is now at zero convertible strings.
705 lines
26 KiB
JSON
705 lines
26 KiB
JSON
{
|
||
"common": {
|
||
"save": "Save",
|
||
"saving": "Saving...",
|
||
"cancel": "Cancel"
|
||
},
|
||
"settings": {
|
||
"profile": {
|
||
"userData": {
|
||
"email": "Email",
|
||
"username": "Username",
|
||
"name": "Name",
|
||
"namePlaceholder": "Your name",
|
||
"updated": "Profile updated",
|
||
"updateFailed": "Failed to update profile",
|
||
"selectImage": "Please select an image file",
|
||
"imageTooLarge": "Image must be smaller than 384KB"
|
||
},
|
||
"apiKeys": {
|
||
"intro": "An API key signs in as you, without a password and without expiring. One key works everywhere — a key is not tied to an app. Giving each device its own is only so you can cut one off without touching the rest. Send it as",
|
||
"loading": "Loading keys…",
|
||
"mintedTitle": "Key for “{{name}}” — shown once",
|
||
"savedIt": "I’ve saved it",
|
||
"copyKey": "Copy key",
|
||
"copied": "Key copied",
|
||
"copyFailed": "Could not copy — select and copy manually",
|
||
"newKey": "New key",
|
||
"namePlaceholder": "iPhone, Music app, laptop CLI…",
|
||
"create": "Create",
|
||
"createFailed": "Could not create the key",
|
||
"noneYet": "No keys yet.",
|
||
"noneInUse": "No keys in use.",
|
||
"revoked": "revoked",
|
||
"expired": "expired",
|
||
"lastUsed": "last used {{date}}",
|
||
"neverUsed": "never used",
|
||
"forget": "Remove this record",
|
||
"forgetFailed": "Could not remove it",
|
||
"revoke": "Revoke",
|
||
"revokeDone": "Revoked — anything using that key is signed out",
|
||
"revokeFailed": "Could not revoke",
|
||
"hideDead": "Hide revoked and expired",
|
||
"showDead": {
|
||
"one": "Show {{count}} revoked or expired key",
|
||
"other": "Show {{count}} revoked or expired keys"
|
||
}
|
||
},
|
||
"voice": {
|
||
"label": "Voice",
|
||
"refresh": "Refresh voices",
|
||
"serverDefault": "Server default",
|
||
"hint": "Choose a voice for text-to-speech. Leave as server default to use the admin-configured voice.",
|
||
"stop": "Stop",
|
||
"listen": "Listen"
|
||
},
|
||
"dock": {
|
||
"visible": "Visible",
|
||
"hidden": "Hidden",
|
||
"dragToShow": "Drag items here to show in dock",
|
||
"allVisible": "All items visible",
|
||
"reset": "Reset to defaults"
|
||
},
|
||
"languages": {
|
||
"spokenLabel": "Languages you speak",
|
||
"addLanguage": "Add a language...",
|
||
"defaultLabel": "Default language",
|
||
"defaultHint": "Used for UI localization.",
|
||
"translateToLabel": "Translate to",
|
||
"translateToHint": "Target language when translating content you don't speak."
|
||
},
|
||
"changePassword": {
|
||
"currentPasswordLabel": "Current Password",
|
||
"currentPasswordPlaceholder": "Current password",
|
||
"newPasswordLabel": "New Password",
|
||
"newPasswordPlaceholder": "New password",
|
||
"confirmPasswordLabel": "Confirm New Password",
|
||
"confirmPasswordPlaceholder": "Confirm new password",
|
||
"changeButton": "Change Password",
|
||
"changingButton": "Changing...",
|
||
"passwordChanged": "Password changed",
|
||
"passwordChangeFailed": "Failed to change password"
|
||
},
|
||
"models": {
|
||
"defaultModel": "Default Model",
|
||
"sameAsChat": "Same as chat default",
|
||
"taskDefaultsSaved": "Task defaults saved",
|
||
"saveFailed": "Failed to save settings",
|
||
"defaultChat": "Default Chat Model",
|
||
"defaultChatHint": "Used when starting a new chat from the home screen",
|
||
"defaultProject": "Default Project Model",
|
||
"defaultProjectHint": "Used when starting a new chat inside a project dashboard",
|
||
"defaultTask": "Default Task Model",
|
||
"defaultTaskHint": "Used when running tasks from the file browser",
|
||
"aiDefaultsSaved": "AI model defaults saved"
|
||
}
|
||
},
|
||
"sections": {
|
||
"profile": {
|
||
"label": "Profile",
|
||
"hint": "avatar, name, email",
|
||
"description": "Avatar, name, and email"
|
||
},
|
||
"changePassword": {
|
||
"label": "Change password",
|
||
"description": "Update your password"
|
||
},
|
||
"apiKeys": {
|
||
"label": "API keys",
|
||
"hint": "keys that sign in as you",
|
||
"description": "Keys that sign in as you, revocable one at a time"
|
||
},
|
||
"languages": {
|
||
"label": "Languages",
|
||
"hint": "spoken and translation",
|
||
"description": "Spoken, default, and translation"
|
||
},
|
||
"voice": {
|
||
"label": "Voice",
|
||
"hint": "text-to-speech",
|
||
"description": "Text-to-speech voice preference"
|
||
},
|
||
"dock": {
|
||
"label": "Dock",
|
||
"hint": "choose and reorder",
|
||
"description": "Choose and reorder dock items"
|
||
},
|
||
"myModels": {
|
||
"label": "My Models",
|
||
"description": "Show or hide models for yourself"
|
||
},
|
||
"channelModels": {
|
||
"label": "Channel Models",
|
||
"description": "Models reachable by non-owner accounts"
|
||
},
|
||
"defaultModels": {
|
||
"label": "Default Models",
|
||
"description": "Default models for chat, projects, and tasks"
|
||
},
|
||
"providers": {
|
||
"label": "Providers",
|
||
"hint": "harnesses",
|
||
"description": "Remote and local AI providers"
|
||
},
|
||
"tts": {
|
||
"label": "Text to Speech",
|
||
"description": "TTS provider and voice"
|
||
},
|
||
"stt": {
|
||
"label": "Speech to Text",
|
||
"description": "Whisper server URL"
|
||
},
|
||
"ocr": {
|
||
"label": "OCR",
|
||
"description": "Vision model for text extraction"
|
||
},
|
||
"maintenance": {
|
||
"label": "Rebuild & restart",
|
||
"hint": "maintenance",
|
||
"description": "Load changes without a terminal"
|
||
},
|
||
"smtp": {
|
||
"label": "SMTP",
|
||
"hint": "outgoing mail",
|
||
"description": "Email delivery provider"
|
||
},
|
||
"googleOauth": {
|
||
"label": "Google OAuth",
|
||
"description": "Client ID and secret for Google APIs"
|
||
},
|
||
"apify": {
|
||
"label": "Apify",
|
||
"description": "API token for web scraping actors"
|
||
},
|
||
"davSync": {
|
||
"label": "Calendar & Contacts sync",
|
||
"hint": "app passwords",
|
||
"description": "Per-device passwords for CalDAV/CardDAV clients"
|
||
},
|
||
"accounts": {
|
||
"label": "Accounts",
|
||
"hint": "users",
|
||
"description": "Who has access, and as what"
|
||
},
|
||
"permissions": {
|
||
"label": "Permissions",
|
||
"description": "What each role can reach"
|
||
}
|
||
},
|
||
"searchPlaceholder": "Search settings…",
|
||
"selectSection": "Select a section",
|
||
"groups": {
|
||
"models": "Models",
|
||
"defaults": "Defaults",
|
||
"providers": "Providers",
|
||
"ai": "AI",
|
||
"maintenance": "Maintenance",
|
||
"email": "Email"
|
||
},
|
||
"nav": {
|
||
"profile": "Profile",
|
||
"ai": "AI",
|
||
"system": "System",
|
||
"integrations": "Integrations",
|
||
"users": "Users"
|
||
},
|
||
"ai": {
|
||
"noModels": "No models available. Configure API keys in Providers.",
|
||
"dragToShow": "Drag models here to show",
|
||
"allVisible": "All models visible",
|
||
"dragToEnable": "Drag models here to enable",
|
||
"allEnabled": "All models enabled",
|
||
"visible": "Visible",
|
||
"hidden": "Hidden",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"refresh": "Refresh models from providers",
|
||
"refreshed": "Models refreshed",
|
||
"refreshFailed": "Failed to refresh models"
|
||
},
|
||
"integrations": {
|
||
"enterprise": "Enterprise",
|
||
"personal": "Personal"
|
||
},
|
||
"server": {
|
||
"loading": "Loading…",
|
||
"provider": "Provider",
|
||
"model": "Model",
|
||
"voice": "Voice",
|
||
"ocr": {
|
||
"serverUrl": "Vision Model Server URL",
|
||
"refreshModels": "Refresh models",
|
||
"selectModel": "Select a model",
|
||
"saved": "OCR settings saved",
|
||
"saveFailed": "Failed to save OCR settings",
|
||
"reachable": "Vision model server is reachable"
|
||
},
|
||
"stt": {
|
||
"serverUrl": "Whisper Server URL",
|
||
"saved": "STT settings saved",
|
||
"saveFailed": "Failed to save STT settings",
|
||
"reachable": "Whisper server is reachable"
|
||
},
|
||
"tts": {
|
||
"openaiCompatible": "OpenAI-compatible (Kokoro, OpenAI, etc.)",
|
||
"elevenLabs": "ElevenLabs",
|
||
"refreshVoices": "Refresh voices",
|
||
"selectVoice": "Select a voice",
|
||
"saved": "TTS settings saved",
|
||
"saveFailed": "Failed to save TTS settings",
|
||
"playing": "Playing test audio",
|
||
"testFailed": "Test failed — could not reach TTS server"
|
||
},
|
||
"smtp": {
|
||
"mailhog": "MailHog (local testing)",
|
||
"resend": "Resend",
|
||
"custom": "Custom SMTP",
|
||
"apiKey": "API Key",
|
||
"host": "Host",
|
||
"port": "Port",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"tls": "TLS / SSL",
|
||
"fromName": "From Name",
|
||
"fromEmail": "From Email",
|
||
"sendTest": "Send Test Email",
|
||
"userExample": "user@example.com",
|
||
"recipientExample": "recipient@example.com",
|
||
"saved": "SMTP settings saved",
|
||
"saveFailed": "Failed to save SMTP settings",
|
||
"connected": "Connection successful",
|
||
"testSent": "Test email sent to {{email}}"
|
||
},
|
||
"maintenance": {
|
||
"updateTitle": "Update the platform",
|
||
"updateHint": "Changes nothing that is running. Whatever the update needs is listed here, and stays your call.",
|
||
"rebuild": "Rebuild the frontend",
|
||
"restart": "Restart the server",
|
||
"upToDate": "Already up to date",
|
||
"rebuilt": "Frontend rebuilt — refresh this page to see it",
|
||
"restarting": "Restarting — the page will reconnect on its own",
|
||
"pulled": {
|
||
"one": "Pulled {{count}} commit",
|
||
"other": "Pulled {{count}} commits"
|
||
}
|
||
},
|
||
"harnesses": {
|
||
"piMono": "Pi Mono",
|
||
"checking": "Checking…",
|
||
"localProviders": "Local Providers",
|
||
"remoteProviders": "Remote Providers",
|
||
"connect": "Connect",
|
||
"authenticate": "Authenticate",
|
||
"connectLocal": "Connect Local Provider",
|
||
"connectProvider": "Connect Provider",
|
||
"none": "No providers found.",
|
||
"updatePiMono": "Update Pi Mono",
|
||
"removeProvider": "Remove provider",
|
||
"namePlaceholder": "Name (e.g. My Ollama)",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"apiKey": "API Key",
|
||
"editKey": "Edit key",
|
||
"disconnect": "Disconnect provider",
|
||
"saveKey": "Save key",
|
||
"enterKey": "Enter API key",
|
||
"search": "Search providers…",
|
||
"connectFailed": "Failed to connect",
|
||
"authFailed": "Authentication failed",
|
||
"saveFailed": "Failed to save provider",
|
||
"connectedTo": "Connected to {{name}}"
|
||
}
|
||
},
|
||
"users": {
|
||
"loadingPermissions": "Loading permissions…",
|
||
"permissionsFailed": "Could not load permissions.",
|
||
"deniedUnlessGranted": "Everything is denied unless granted here.",
|
||
"read": "Read",
|
||
"full": "Full",
|
||
"noAccess": "No access",
|
||
"role": "Role",
|
||
"permissionsSaved": "Saved what {{role}}s can reach",
|
||
"copyBeforeClosing": "Copy what you need before closing — none of it can be shown again.",
|
||
"password": "Password",
|
||
"linuxAccount": "Linux account",
|
||
"sshKey": "Their SSH public key",
|
||
"addToGitea": "Add this to their Gitea account",
|
||
"linuxIncomplete": "The account works, but its Linux side did not finish",
|
||
"done": "Done",
|
||
"addAccount": "Add account",
|
||
"newAccount": "New account",
|
||
"email": "Email",
|
||
"name": "Name",
|
||
"username": "Username",
|
||
"usernameHint": "Letters, numbers, dots, hyphens and underscores.",
|
||
"generatePassword": "Generate a password",
|
||
"copyPassword": "Copy the password",
|
||
"passwordHint": "At least 12 characters, with upper and lower case, a number and a symbol.",
|
||
"sshPlaceholder": "ssh-ed25519 AAAAC3Nza… ana@laptop",
|
||
"passwordCopied": "Password copied",
|
||
"loadingAccounts": "Loading accounts…",
|
||
"accountsFailed": "Could not load the accounts.",
|
||
"removeAccount": "Remove account",
|
||
"generateNewPassword": "Generate a new password",
|
||
"serverOwner": "Server owner",
|
||
"copySshTitle": "Copy their SSH public key (add it to their Gitea account)",
|
||
"resetPasswordTitle": "Generate a new password — shown once, and signs them out everywhere",
|
||
"copyNewPassword": "Copy the new password",
|
||
"publicKeyCopied": "Public key copied",
|
||
"copyFailed": "Could not copy — select it and copy by hand",
|
||
"repairFor": "Repair {{email}}’s Linux account",
|
||
"linuxAccountFor": "Linux account: {{osUser}} — click to repair or replace their SSH key",
|
||
"copySshFor": "Copy {{email}}’s SSH public key",
|
||
"resetPasswordFor": "Reset {{email}}’s password",
|
||
"removeFor": "Remove {{email}}",
|
||
"provisionPrompt": "Linux account for {{email}}.\n\nPaste an SSH public key to allow them to SSH in, or leave empty to keep the current one.",
|
||
"createLinux": "Create a Linux account",
|
||
"noLinux": "No Linux account — click to create one",
|
||
"removeTitle": "Remove {{email}}?",
|
||
"removeBody": "This deletes the account and everything belonging to it — passkeys, dashboards, saved layouts, and anything an installed plugin keeps for them. It cannot be undone.",
|
||
"resetTitle": "Reset the password for {{email}}?",
|
||
"resetBody": "A new password is generated and shown to you once — it is not stored anywhere and cannot be looked up afterwards. Their existing password stops working immediately, and they are signed out everywhere.",
|
||
"resetLinuxNote": "Their Linux account ({{osUser}}) is not affected: it has no password, and SSH keys are unchanged."
|
||
},
|
||
"dav": {
|
||
"newDevice": "New device",
|
||
"create": "Create",
|
||
"none": "No devices yet.",
|
||
"placeholder": "Pixel 9, iPad, Thunderbird…",
|
||
"revoke": "Revoke",
|
||
"delete": "Delete",
|
||
"copyFailed": "Could not copy — select and copy manually",
|
||
"createFailed": "Could not create the app password",
|
||
"revoked": "Revoked — that device will stop syncing",
|
||
"revokeFailed": "Could not revoke",
|
||
"deleteFailed": "Could not delete",
|
||
"copyField": "Copy {{field}}",
|
||
"copied": "{{what}} copied"
|
||
},
|
||
"google": {
|
||
"guideToggle": "Step-by-step setup guide",
|
||
"step1": {
|
||
"title": "Create a Google Cloud project",
|
||
"body": "Open the project creation page, give it a name (for example “Officer”), and click:",
|
||
"link": "New Project"
|
||
},
|
||
"step2": {
|
||
"title": "Enable the APIs",
|
||
"body": "Open the API library and search for each of these, then click:",
|
||
"link": "API Library"
|
||
},
|
||
"step3": {
|
||
"title": "Configure the OAuth consent screen",
|
||
"link": "OAuth Branding",
|
||
"appName": "Set your organization name, or “Officer”, as:",
|
||
"supportEmail": "Set your admin email as:",
|
||
"devContact": "Add your admin email under:",
|
||
"save": "Then click:"
|
||
},
|
||
"step4": {
|
||
"title": "Set the audience",
|
||
"link": "OAuth Audience",
|
||
"internal": "If your team uses Google Workspace, choose — no verification needed:",
|
||
"external": "Otherwise choose, and add your team’s emails under Test users (required while the app is unverified; limit of 100 test users):"
|
||
},
|
||
"step5": {
|
||
"title": "Add scopes",
|
||
"link": "Data Access",
|
||
"body": "Open data access and search for and add the scopes below, then click:",
|
||
"note": "Google classifies the calendar scope as sensitive and the Gmail scope as restricted. That is fine for Internal apps (Google Workspace) and for External apps in testing mode; publishing to production with restricted scopes requires Google verification."
|
||
},
|
||
"step6": {
|
||
"title": "Create OAuth credentials",
|
||
"link": "Clients",
|
||
"body": "Open the clients page and click:",
|
||
"appType": "Application type:",
|
||
"nameAnything": "Name: anything (for example “Officer”)",
|
||
"redirectUris": "Authorized redirect URIs — add:",
|
||
"thenClick": "Then click:"
|
||
},
|
||
"step7": {
|
||
"title": "Copy the credentials",
|
||
"body": "A dialog shows your client ID and client secret. Copy both and paste them into the fields below."
|
||
},
|
||
"scopeGmail": "Read emails",
|
||
"scopeCalendar": "Read calendar events",
|
||
"verifying": "Verifying credentials…",
|
||
"valid": "Credentials valid",
|
||
"invalid": "Invalid credentials",
|
||
"verifyFailed": "Verification request failed",
|
||
"clientId": "Client ID",
|
||
"clientSecret": "Client Secret",
|
||
"redirectUri": "Redirect URI",
|
||
"redirectUriHint": "Add this URI to your Google OAuth client’s authorized redirect URIs",
|
||
"saved": "Google OAuth configuration saved",
|
||
"saveFailed": "Failed to save Google OAuth configuration"
|
||
},
|
||
"googleAccount": {
|
||
"title": "Google Account",
|
||
"hint": "Connect your Google account for Calendar, Contacts, and other Google services.",
|
||
"connected": "Connected",
|
||
"disconnect": "Disconnect",
|
||
"connect": "Connect Google Account",
|
||
"connectedToast": "Google account connected",
|
||
"connectFailed": "Failed to connect Google account",
|
||
"disconnectedToast": "Google account disconnected",
|
||
"disconnectFailed": "Failed to disconnect Google account"
|
||
},
|
||
"apify": {
|
||
"token": "API Token",
|
||
"saved": "Apify API token saved",
|
||
"saveFailed": "Failed to save Apify API token"
|
||
}
|
||
},
|
||
"header": {
|
||
"userMenu": {
|
||
"profile": "Profile",
|
||
"systemSettings": "System Settings",
|
||
"signOut": "Sign Out",
|
||
"ai": "AI",
|
||
"integrations": "Integrations",
|
||
"userManagement": "User Management"
|
||
},
|
||
"tabName": "Tab name",
|
||
"tabNameHint": "Click to rename this tab — clear it to go back to the page name",
|
||
"logoAlt": "Officer",
|
||
"navigation": "Navigation",
|
||
"jobsRunning": "Running job",
|
||
"jobsNothingRunning": "Nothing running",
|
||
"jobsQueued": "Queued jobs"
|
||
},
|
||
"nav": {
|
||
"home": "Home",
|
||
"files": "Files",
|
||
"chat": "Chat",
|
||
"commandHq": "Command HQ",
|
||
"editor": "Editor",
|
||
"jobs": "Jobs",
|
||
"terminal": "Terminal",
|
||
"browser": "Browser",
|
||
"monitor": "Monitor",
|
||
"activity": "Activity",
|
||
"dashboards": "Dashboards",
|
||
"sendOff": "SendOff",
|
||
"calendar": "Calendar",
|
||
"contacts": "Contacts",
|
||
"appStore": "App store",
|
||
"marketplace": "Marketplace",
|
||
"codeEditor": "Code Editor"
|
||
},
|
||
"theme": {
|
||
"pillTitle": "Theme: {{name}} · ctrl+shift+←/→ cycle · ctrl+shift+space browse · ctrl+shift+f {{starAction}}",
|
||
"pillLabel": "Theme: {{name}}",
|
||
"star": "star",
|
||
"unstar": "unstar",
|
||
"cycleHint": "ctrl+shift+←/→ cycle · ctrl+shift+space browse",
|
||
"everyShortcutHint": "ctrl+? for every shortcut",
|
||
"favouritesOnly": "Favourites only ({{count}})",
|
||
"favourites": "Favourites ({{count}})",
|
||
"noFavourites": "No favourites yet — star one with the button on its row.",
|
||
"starNamed": "Star {{name}}",
|
||
"unstarNamed": "Unstar {{name}}",
|
||
"addToFavourites": "Add to favourites",
|
||
"removeFromFavourites": "Remove from favourites",
|
||
"addToFavouritesKey": "Add to favourites (f)",
|
||
"removeFromFavouritesKey": "Remove from favourites (f)",
|
||
"active": "active",
|
||
"browseHint": "j/k or ↑/↓ move · l or → preview · f star · h or ← reset · enter keep · esc cancel"
|
||
},
|
||
"spotlight": {
|
||
"placeholder": "Go to…",
|
||
"noResults": "Nothing matches “{{query}}”."
|
||
},
|
||
"shortcutsModal": {
|
||
"title": "Keyboard shortcuts",
|
||
"hint": "Ctrl+? · Esc to close"
|
||
},
|
||
"screenError": {
|
||
"title": "This screen failed to render",
|
||
"description": "Nothing was lost — this is a display failure, not a data one. Agent transcripts, jobs and files are untouched.",
|
||
"unknownError": "Unknown error",
|
||
"tryAgain": "Try again",
|
||
"reload": "Reload",
|
||
"goHome": "Go home",
|
||
"resetHint": "If it fails again in the same place, a saved panel layout is the usual cause. Resetting puts every screen’s panes back to their defaults.",
|
||
"dashboardsSafe": "Your dashboards are not touched.",
|
||
"resetting": "Resetting…",
|
||
"resetConfirm": "Yes — reset every screen layout",
|
||
"reset": "Reset screen layouts"
|
||
},
|
||
"rescan": {
|
||
"label": "Rescan items",
|
||
"title": "Rescan officer-items (apply changes without restarting)",
|
||
"failed": "Failed to rescan items",
|
||
"done": "Rescanned items — {{summary}}",
|
||
"counts": {
|
||
"tasks": {
|
||
"one": "{{count}} task",
|
||
"other": "{{count}} tasks"
|
||
},
|
||
"agents": {
|
||
"one": "{{count}} agent",
|
||
"other": "{{count}} agents"
|
||
},
|
||
"tools": {
|
||
"one": "{{count}} tool",
|
||
"other": "{{count}} tools"
|
||
},
|
||
"skills": {
|
||
"one": "{{count}} skill",
|
||
"other": "{{count}} skills"
|
||
},
|
||
"processes": {
|
||
"one": "{{count}} process",
|
||
"other": "{{count}} processes"
|
||
},
|
||
"affordances": {
|
||
"one": "{{count}} affordance",
|
||
"other": "{{count}} affordances"
|
||
}
|
||
},
|
||
"newChatsOnly": "Applies to new chats — an open one keeps what it started with.",
|
||
"noDescription": {
|
||
"one": "{{count}} skill has no description, so no agent is offered it.",
|
||
"other": "{{count}} skills have no description, so no agent is offered them."
|
||
}
|
||
},
|
||
"bugReport": {
|
||
"label": "Report a bug",
|
||
"title": "Report a Bug",
|
||
"describePlaceholder": "Describe what went wrong...",
|
||
"screenshot": "Screenshot",
|
||
"noScreenshot": "No screenshot captured",
|
||
"collectedNote": "Console logs, browser info, and recent API errors are collected automatically.",
|
||
"submitted": "Bug report submitted",
|
||
"failed": "Failed to submit bug report",
|
||
"submit": "Submit"
|
||
},
|
||
"auth": {
|
||
"signInTitle": "Welcome Back",
|
||
"signInSubtitle": "Sign in to your account",
|
||
"emailOrUsername": "Email or username",
|
||
"password": "Password",
|
||
"forgotPassword": "Forgot password?",
|
||
"emailPlaceholder": "you@example.com",
|
||
"passwordPlaceholder": "Your password",
|
||
"forgotTitle": "Forgot Password",
|
||
"forgotSubtitle": "Enter your email to receive a reset link",
|
||
"email": "Email",
|
||
"backToLogin": "Back to login",
|
||
"checkEmail": "Check your email",
|
||
"checkEmailHint": "Click it to reset your password.",
|
||
"resetOk": "Password reset successfully. Please sign in.",
|
||
"verifying": "Verifying…",
|
||
"invalidLink": "Invalid Link",
|
||
"invalidLinkHint": "This reset link is invalid or has expired.",
|
||
"resetTitle": "Reset Password",
|
||
"resetSubtitle": "Enter your new password",
|
||
"confirmPassword": "Confirm Password",
|
||
"minChars": "Min 12 characters",
|
||
"confirmPlaceholder": "Confirm your password",
|
||
"bootstrapTitle": "Welcome, Admin",
|
||
"bootstrapSubtitle": "Create your administrator account",
|
||
"name": "Name",
|
||
"username": "Username",
|
||
"namePlaceholder": "Your name",
|
||
"adminEmailPlaceholder": "admin@example.com",
|
||
"bootstrapOk": "Administrator account created. Please sign in.",
|
||
"debug": {
|
||
"controls": "Controls:",
|
||
"camera": "Camera:",
|
||
"model": "Model:"
|
||
}
|
||
},
|
||
"shortcuts": {
|
||
"navigation": "Navigation",
|
||
"spotlight": "Spotlight — go to any screen, plugin or setting by name",
|
||
"thisList": "This list",
|
||
"themes": "Themes",
|
||
"themesNote": "The browser applies as you move, so you watch the app change rather than reading names.",
|
||
"openBrowser": "Open the theme browser",
|
||
"prevNextTheme": "Previous / next theme, without opening anything",
|
||
"starCurrent": "Star or unstar the current theme, from anywhere",
|
||
"inBrowser": "In the theme browser",
|
||
"moveList": "Move through the list",
|
||
"applyKeepBrowsing": "Apply the focused theme and keep browsing",
|
||
"restoreStart": "Put back the theme you started on",
|
||
"starFocused": "Star or unstar the focused theme",
|
||
"keepLooking": "Keep what you are looking at",
|
||
"cancelRestore": "Cancel and restore",
|
||
"inSpotlight": "In Spotlight",
|
||
"moveResults": "Move through the results",
|
||
"goThere": "Go there",
|
||
"close": "Close",
|
||
"chat": "Chat",
|
||
"chatNote": "Recall only takes the arrow key from an EMPTY composer, and any other key ends a recall — so a draft is never overwritten.",
|
||
"prevNextPrompt": "Previous / next prompt you sent, shell-style",
|
||
"send": "Send · on an empty composer with something queued, send that now",
|
||
"newline": "Newline",
|
||
"stopTurn": "Stop the turn that is generating"
|
||
},
|
||
"jobs": {
|
||
"runningQueued": "Running & Queued",
|
||
"loading": "Loading…",
|
||
"nothingRunning": "Nothing running",
|
||
"history": "History",
|
||
"clearAll": "Clear all",
|
||
"selectJob": "Select a job",
|
||
"notFound": "Job not found.",
|
||
"backToJobs": "Back to jobs",
|
||
"stop": "Stop",
|
||
"testNotification": "Send a test notification to every configured channel",
|
||
"search": "Search…",
|
||
"deleteFinished": "Delete all finished jobs",
|
||
"noChannels": "No channels configured",
|
||
"notifyFailed": "Failed to send notification",
|
||
"stopRequested": "Stop requested",
|
||
"stopFailed": "Failed to stop",
|
||
"titles": "Titles",
|
||
"download": "Download",
|
||
"input": "Input",
|
||
"output": "Output",
|
||
"steps": "Steps",
|
||
"selectStep": "Select a step or sub-task to view output",
|
||
"noOutput": "No output yet",
|
||
"tokens": "Tokens:",
|
||
"cost": "Cost:",
|
||
"status": {
|
||
"running": "Running",
|
||
"queued": "Queued",
|
||
"completed": "Completed",
|
||
"failed": "Failed",
|
||
"stopped": "Stopped",
|
||
"interrupted": "Interrupted"
|
||
},
|
||
"failedWithCode": "Failed (exit {{code}})"
|
||
},
|
||
"activity": {
|
||
"title": "Activity",
|
||
"backgroundTasks": "Background tasks",
|
||
"detached": "Detached",
|
||
"backToList": "Back to the list",
|
||
"selectTask": "Select a task to follow its live output",
|
||
"noneRunning": "none running"
|
||
},
|
||
"passkeyGate": {
|
||
"setUp": "Set up your passkey"
|
||
},
|
||
"chatHistory": {
|
||
"loadFailed": "Could not load this conversation: {{reason}}"
|
||
},
|
||
"capability": {
|
||
"frontmatter": "Frontmatter",
|
||
"noMatches": "No matches",
|
||
"emptyFile": "Empty file",
|
||
"createFailed": "Could not create the {{kind}}",
|
||
"deleteFailed": "Could not delete the {{kind}}",
|
||
"searchPlaceholder": "Search {{kind}}…",
|
||
"selectOne": "Select a {{kind}}",
|
||
"selectToView": "Select a {{kind}} to view its contents",
|
||
"delete": "Delete",
|
||
"createPrompt": "Help me create the content for this new {{kind}} file",
|
||
"improvePrompt": "Help me understand and improve this {{kind}} file"
|
||
}
|
||
}
|