Files
pieced-portal/src/messages/en.json
admin 22fd5fb2cc
All checks were successful
Build and Push / build (push) Successful in 1m23s
TenantAssignment and readside filtering
2026-04-26 22:58:30 +02:00

274 lines
13 KiB
JSON

{
"common": {
"appName": "PieCed",
"tagline": "AI Platform",
"login": "Sign In",
"logout": "Sign Out",
"dashboard": "Dashboard",
"admin": "Admin",
"loading": "Loading…",
"language": "Language",
"cancel": "Cancel",
"save": "Save",
"error": "An error occurred",
"register": "Register"
},
"login": {
"title": "PieCed Portal",
"subtitle": "Sign in to manage your AI assistant",
"button": "Continue with ZITADEL",
"footer": "Hosted on-premises in Switzerland",
"noAccount": "No account yet?",
"register": "Register your company"
},
"register": {
"title": "Create your account",
"subtitle": "Register your company for a Swiss-hosted AI assistant",
"companyName": "Company Name",
"companyNamePlaceholder": "Acme GmbH",
"givenName": "First Name",
"familyName": "Last Name",
"email": "Email Address",
"submit": "Register",
"hasAccount": "Already have an account?",
"footer": "Your data is hosted exclusively on-premises in Switzerland.",
"successTitle": "Registration received",
"successDescription": "You will receive an invitation email with a link to set your password and verify your email address. Once completed, you can sign in to set up your AI assistant.",
"goToLogin": "Go to Sign In",
"duplicateDomain": "An account for the email domain {domain} is already registered. Please contact your company administrator to be invited, or reach out to PieCed IT support if you believe this is in error.",
"individualToggle": "Register as an individual",
"individualHint": "Tick this if you're not registering on behalf of a company. Your account will be set up as a personal workspace."
},
"onboarding": {
"loading": "Loading status…",
"welcomeTitle": "Set up your AI assistant",
"welcomeDescription": "In a few steps, you'll have your own AI assistant — hosted exclusively in Switzerland, fully under your control.",
"welcomeFeature_swissHosted": "Hosted on-premises in Switzerland — your data never leaves the country",
"welcomeFeature_privacy": "No data shared with third parties — complete privacy",
"welcomeFeature_customizable": "Fully customizable personality, packages, and integrations",
"getStarted": "Get started",
"configureTitle": "Configure your assistant",
"configureDescription": "Give your assistant a name and personality. You can always change this later.",
"agentName": "Agent Name",
"soulMd": "Personality (SOUL.md)",
"soulMdHint": "This defines how your assistant behaves. Markdown format. You can edit this later.",
"agentsMd": "Agent Instructions (AGENTS.md)",
"agentsMdHint": "Defines what your assistant does on session start. Optional — defaults work well for most setups.",
"toolsMd": "Available Tools (TOOLS.md)",
"toolsMdHint": "Auto-generated based on your selected packages. This file is managed automatically.",
"advancedConfig": "Advanced Configuration",
"packages": "Packages",
"packagesHint": "Optional integrations. Packages requiring credentials will ask for them inline. You can also enable these later.",
"billingTitle": "Billing information",
"billingDescription": "We need your billing address to set up invoicing. A payment provider will be integrated in the future.",
"billingCompany": "Company",
"billingStreet": "Street",
"billingPostalCode": "Postal Code",
"billingCity": "City",
"billingCountry": "Country",
"billingNotes": "Notes",
"billingNotesPlaceholder": "Any notes about billing (PO number, VAT ID, preferred payment method, etc.)",
"confirmTitle": "Review & submit",
"confirmDescription": "Please review your setup. Your request will be reviewed by our team before provisioning.",
"confirmNote": "After submission, our team will review your request and billing details. You'll receive access once approved — typically within one business day.",
"credentialsProvided": "Credentials provided",
"submitRequest": "Submit request",
"back": "Back",
"next": "Next",
"pendingTitle": "Request submitted",
"pendingDescription": "Your onboarding request has been submitted and is awaiting review by our team. You'll receive access once approved — typically within one business day.",
"rejectedTitle": "Request not approved",
"rejectedDescription": "Unfortunately, your onboarding request was not approved. Please contact us for more information.",
"provisioningTitle": "Setting up your instance",
"provisioningDescription": "Your AI assistant is being provisioned. This usually takes a few minutes.",
"phase": "Phase",
"readyTitle": "Your assistant is ready!",
"readyDescription": "Your AI assistant has been provisioned and is running. You can now manage it from the dashboard.",
"goToDashboard": "Go to Dashboard",
"submittedAt": "Submitted",
"instanceName": "Instance name",
"instanceNamePlaceholder": "e.g. Production, Dev, Sales",
"instanceNameHint": "Optional human-readable name to distinguish this instance from others on your dashboard. Leave blank to use your company name."
},
"dashboard": {
"title": "Dashboard",
"welcome": "Welcome back, {name}",
"instanceStatus": "Instance Status",
"usage": "Usage",
"packages": "Packages",
"noInstance": "No instance provisioned yet.",
"comingSoon": "Detailed view coming in Session 6.2",
"noInstanceDescription": "Set up your AI assistant instance to get started with PieCed IT.",
"manage": "Manage instance & packages",
"instances": "Your instances",
"inflightRequests": "In-flight requests",
"createInstance": "Create new instance",
"createInstanceDescription": "Provision an additional AI assistant instance for your organization. The request will be reviewed by an administrator before the instance is created.",
"noAccessNoInstances": "Your organization doesn't have any instances yet. Please ask the organization owner to set one up.",
"noAssignmentsTitle": "No instances assigned",
"noAssignmentsDescription": "Your organization has instances, but you haven't been granted access to any of them. Please ask your organization owner to assign you to an instance.",
"noInstancesYetTitle": "No instances yet",
"noInstancesYetDescription": "Your organization doesn't have any instances yet. Please ask your organization owner to set one up."
},
"tenantDetail": {
"agent": "Agent",
"packages": "Packages",
"workspaceFiles": "Workspace Files",
"notFound": "Tenant not found.",
"usage": "Usage & Spend",
"provisioned": "Provisioned"
},
"usage": {
"inputTokens": "Input Tokens",
"outputTokens": "Output Tokens",
"totalSpend": "Total Spend",
"totalCost": "Total Cost",
"budget": "Budget",
"noLimit": "No limit",
"last30Days": "Last 30 Days",
"noData": "No usage data available.",
"dailyBreakdown": "Daily Breakdown",
"requests": "requests"
},
"workspace": {
"save": "Save",
"placeholder": "Enter content for {file}…",
"readonlyNote": "This file is auto-generated and cannot be edited manually.",
"seedingNote": "Workspace files are seeded on first boot. Updating on an existing instance triggers a ConfigMap update and pod restart."
},
"packages": {
"categories": {
"channels": "Channels",
"skills": "Skills"
},
"enable": "Enable",
"disable": "Disable",
"enableAndSave": "Enable & Save",
"configure": "Configure",
"requiresApiKey": "Requires API key",
"missingFields": "Please fill in all required fields.",
"status": {
"pending": "Pending",
"active": "Active",
"error": "Error"
},
"telegram": {
"description": "Connect your AI assistant to a Telegram bot.",
"botTokenLabel": "Telegram Bot Token",
"botTokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
"instructions": "1. Open @BotFather on Telegram\n2. Send /newbot and follow the prompts\n3. Copy the bot token provided",
"disclaimer": "I confirm I own this Telegram bot and authorize PieCed IT to connect it to my AI assistant."
},
"discord": {
"description": "Connect your AI assistant to a Discord server via a bot.",
"botTokenLabel": "Discord Bot Token",
"botTokenPlaceholder": "MTAxNjQ0OTk2NjAz...",
"instructions": "1. Go to discord.com/developers/applications\n2. Create a new application and add a bot\n3. Copy the bot token",
"disclaimer": "I confirm I own this Discord bot and authorize PieCed IT to connect it to my AI assistant."
},
"email": {
"description": "Enable your AI assistant to send and receive email.",
"smtpHostLabel": "SMTP Host",
"smtpHostPlaceholder": "smtp.example.com",
"smtpUserLabel": "SMTP Username",
"smtpUserPlaceholder": "user@example.com",
"smtpPasswordLabel": "SMTP Password",
"smtpPasswordPlaceholder": "••••••••",
"imapHostLabel": "IMAP Host",
"imapHostPlaceholder": "imap.example.com",
"instructions": "Provide SMTP and IMAP credentials. The assistant uses these to send and monitor messages.",
"disclaimer": "I confirm I am authorized to use these email credentials and that PieCed IT may access this mailbox."
},
"webSearch": {
"description": "Give your AI assistant the ability to search the web."
},
"documentProcessing": {
"description": "Enable document parsing, summarization, and extraction."
},
"statusEnabled": "enabled",
"statusDisabled": "disabled"
},
"admin": {
"title": "Platform Admin",
"subtitle": "Manage onboarding requests and tenant lifecycle",
"allTenants": "Tenants",
"noTenants": "No tenants provisioned yet.",
"noAccess": "Insufficient permissions for this view.",
"name": "Name",
"displayName": "Display Name",
"phase": "Phase",
"packages": "Packages",
"created": "Created",
"manage": "Manage",
"requests": "Requests",
"pendingRequests": "Pending Requests",
"approve": "Approve",
"reject": "Reject",
"reApprove": "Re-approve",
"company": "Company",
"contact": "Contact",
"agentName": "Agent",
"status": "Status",
"submitted": "Submitted",
"updated": "Updated",
"actions": "Actions",
"noRequests": "No requests found.",
"loadingRequests": "Loading requests…",
"approveConfirm": "Approve this request and start provisioning?",
"rejectConfirm": "Reject this request?",
"rejectTitle": "Reject request",
"adminNotesLabel": "Notes (optional)",
"adminNotesPlaceholder": "Reason for rejection…",
"cancelAction": "Cancel",
"confirmReject": "Reject",
"viewTenant": "View",
"filter_all": "All",
"filter_pending": "Pending",
"filter_provisioning": "Provisioning",
"filter_approved": "Approved",
"filter_rejected": "Rejected",
"totalTenants": "Total",
"running": "Running",
"provisioning": "Provisioning",
"errors": "Errors",
"suspend": "Suspend",
"resume": "Resume",
"suspended": "Suspended",
"suspendedBadge": "SUSPENDED",
"deleteTenant": "Delete",
"deleteTitle": "Delete tenant",
"deleteWarning": "This will permanently delete the tenant, its namespace, secrets, and all associated data. This action cannot be undone.",
"confirmDelete": "Delete permanently",
"loadingTenants": "Loading tenants…",
"filter_deleted": "Deleted",
"filter_active": "Active",
"health": "Health",
"serviceHealth": "Service Health",
"vllmDescription": "GPU inference engine",
"litellmDescription": "LLM proxy & spend tracking",
"tenantOverview": "Tenant Overview",
"spendOverview": "Spend Overview",
"globalSpend": "Global Spend (CHF)",
"activeTenants": "Active Tenants",
"tenantsWithSpend": "tenants with recorded spend",
"refresh": "Refresh",
"healthUnavailable": "Health data unavailable.",
"loadingHealth": "Loading health data…",
"statusHealthy": "Healthy",
"statusDown": "Down",
"spendChf": "Spend (CHF)"
},
"channelUsers": {
"title": "Authorized Users",
"description": "Manage which users can interact with your assistant on each channel. Add their numeric user ID to authorize access.",
"users": "users",
"placeholder": "Enter numeric user ID…",
"add": "Add",
"remove": "Remove",
"alreadyAdded": "This user ID is already authorized.",
"telegramIdHelp": "To find your Telegram user ID:\n1. Open Telegram and message @userinfobot\n2. It instantly replies with your numeric ID\n3. Enter that number here",
"discordIdHelp": "To find your Discord user ID:\n1. Enable Developer Mode in Discord settings (Advanced)\n2. Right-click your name → Copy User ID\n3. Enter that number here",
"emailIdHelp": "Enter the email address that should be authorized to interact with the assistant."
}
}