Files
tessera-ctl/apps/web/src/messages/en.json
T

516 lines
18 KiB
JSON

{
"common": {
"appName": "Tessera",
"loading": "Loading...",
"save": "Save",
"cancel": "Cancel",
"menu": "Menu",
"confirm": "Confirm",
"delete": "Delete",
"edit": "Edit",
"create": "Create",
"close": "Close",
"yes": "Yes",
"no": "No",
"active": "Active",
"inactive": "Inactive",
"actions": "Actions",
"accessDenied": "Access denied"
},
"auth": {
"login": "Sign In",
"username": "Username",
"password": "Password",
"rememberMe": "Remember me",
"submit": "Sign In",
"forgotPassword": "Forgot password?",
"error": {
"invalidCredentials": "Invalid username or password",
"networkError": "Connection error. Please try again."
},
"branding": {
"tagline": "Modular workflow platform for your organization"
},
"resetPassword": {
"title": "Reset Password",
"email": "Email address",
"submit": "Send Reset Link",
"success": "If an account with this email exists, a reset link has been sent.",
"backToLogin": "Back to Sign In",
"newPasswordTitle": "Set New Password",
"newPassword": "New Password",
"confirmPassword": "Confirm Password",
"submitReset": "Reset Password",
"resetSuccess": "Your password has been reset successfully.",
"redirecting": "You will be redirected to the sign in page in a few seconds...",
"tokenExpired": "This reset link has expired. Please request a new one.",
"tokenUsed": "This reset link has already been used. Please request a new one.",
"tokenInvalid": "This reset link is invalid.",
"passwordMismatch": "Passwords do not match."
},
"changePassword": {
"title": "Change Password",
"currentPassword": "Current Password",
"newPassword": "New Password",
"confirmPassword": "Confirm New Password",
"submit": "Change Password",
"success": "Your password has been changed successfully.",
"forceChangeNotice": "For security reasons, you must change your password before continuing.",
"wrongCurrentPassword": "The current password is incorrect.",
"networkError": "Connection error. Please try again.",
"passwordMismatch": "Passwords do not match."
}
},
"header": {
"search": "Search...",
"userMenu": "User menu",
"breadcrumb": {
"home": "Home"
},
"settings": "Settings",
"logout": "Sign Out",
"admin": {
"label": "Administration",
"users": "Users",
"tenants": "Tenants",
"modules": "Modules",
"ldap": "LDAP",
"smtp": "SMTP"
},
"role": {
"SUPER_ADMIN": "Super Admin",
"ADMIN": "Admin",
"USER": "User"
}
},
"sidebar": {
"dashboard": "Dashboard",
"marketplace": "Marketplace",
"settings": "Settings",
"collapse": "Collapse",
"expand": "Expand",
"userPlaceholder": "User",
"search": "Search modules...",
"noResults": "No modules found",
"categories": {
"label": "Categories",
"empty": "No modules"
},
"admin": "Administration",
"users": "Users",
"tenants": "Tenants",
"ldap": "LDAP",
"modules": "Modules"
},
"dashboard": {
"title": "Dashboard",
"empty": "No active widgets",
"addWidget": "Add widget"
},
"settings": {
"link": "Settings",
"navLabel": "Settings",
"backToDashboard": "Back to Dashboard",
"categoryDashboard": "Dashboard",
"categoryWidgets": "Widgets",
"categoryCalendar": "Calendar",
"categoryGeneral": "General",
"categoryAccount": "Account",
"categorySmtp": "SMTP",
"account": {
"title": "Account",
"avatarLabel": "Profile Picture",
"avatarHelp": "Allowed formats: PNG, JPEG, WebP. Maximum size: 2 MB.",
"uploadCta": "Upload picture",
"uploadSuccess": "Profile picture updated successfully.",
"uploadError": "Upload failed. Please check the file format and size.",
"deleteAvatarCta": "Delete picture",
"deleteAvatarSuccess": "Profile picture deleted.",
"deleteAvatarError": "Delete failed.",
"accentColorLabel": "Accent Color",
"accentColorHelp": "Used for buttons, highlights and active elements. Default: #ffed00.",
"accentColorSave": "Save color",
"accentColorReset": "Reset",
"accentColorSuccess": "Accent color saved.",
"accentColorError": "Save failed.",
"ldapManagedNotice": "Your password is managed via the directory (LDAP) and cannot be changed here.",
"passwordSectionTitle": "Change Password"
},
"sourceDeleteConfirm": "Are you sure you want to delete this calendar source?",
"sourceDeleteCta": "Delete source",
"providerDeleteConfirm": "Are you sure you want to delete this search provider?",
"providerDeleteCta": "Delete provider",
"cancel": "Cancel",
"smtp": {
"title": "SMTP Configuration",
"host": "Host",
"port": "Port",
"encryption": "Encryption",
"username": "Username",
"password": "Password",
"fromAddress": "Sender Address (From)",
"fromAddressHelp": "The email address shown as the sender.",
"save": "Save Settings",
"test": "Test Connection",
"showPassword": "Show password",
"hidePassword": "Hide password",
"testToLabel": "Send test email to",
"testToPlaceholder": "recipient@example.com",
"testToHelp": "Optional — sends a real test email to this address.",
"testTesting": "Testing connection...",
"testSuccess": "Connection successful",
"testFailed": "Connection failed"
}
},
"widgets": {
"emptyHeading": "No active widgets",
"emptyBody": "Click edit to add widgets to your dashboard.",
"addWidget": "Add widget",
"catalogTitle": "Add widget",
"deleteTooltip": "Remove widget",
"editMode": "Edit dashboard",
"saveChanges": "Save changes",
"layoutLoadError": "Could not load dashboard. Please reload the page.",
"widgetSaveError": "Could not save changes. Please try again.",
"clock": {
"name": "Clock",
"description": "Shows the current time",
"dateHint": "Show date"
},
"search": {
"name": "Search",
"description": "Quick web search",
"placeholder": "Search...",
"providers": "Search Providers",
"addProvider": "Add Custom Provider",
"addProviderButton": "Add Provider"
},
"calendar": {
"name": "Calendar",
"description": "Upcoming events",
"loading": "Loading...",
"emptyNoSources": "No calendar sources configured",
"emptyNoEvents": "No upcoming events",
"connectionSuccess": "Connection successful",
"connectionError": "Connection failed. Please check the URL and credentials.",
"addSource": "Add source",
"sourceEmpty": "No calendar sources configured. Add a source to display events.",
"formFieldName": "Name",
"formFieldType": "Type",
"formFieldUrl": "URL",
"formFieldUsername": "Username",
"formFieldPassword": "Password",
"formFieldColor": "Color",
"formFieldExchangeMode": "Exchange Mode",
"formFieldDomain": "Domain",
"formFieldDomainHint": "Windows domain (e.g. COMPANY)",
"formTestConnection": "Test connection",
"formTesting": "Testing...",
"formTestSuccess": "Connection successful",
"formTestFailed": "Connection failed",
"saveError": "Save failed. Please check your input.",
"saveSuccess": "Saved successfully",
"formSave": "Save",
"formSaving": "Saving...",
"formCancel": "Cancel",
"formUrlErrorHttps": "URL must use HTTPS protocol",
"formUrlErrorInvalid": "Invalid URL format"
},
"note": {
"name": "Notes",
"description": "Free-text notes with Markdown",
"defaultTitle": "Note",
"autosaveError": "Save failed",
"editMode": "Edit",
"viewMode": "Preview"
},
"calculator": {
"name": "Calculator",
"description": "Basic arithmetic with keyboard support"
},
"favorites": {
"name": "Favorites",
"description": "Quick-access links",
"loading": "Loading favorites...",
"empty": "No favorites yet.",
"addTitle": "Title",
"addUrl": "URL",
"addButton": "Add",
"listView": "List",
"gridView": "Grid",
"editButton": "Edit favorite",
"deleteButton": "Delete favorite",
"saveButton": "Save",
"cancelButton": "Cancel",
"error": "Error loading favorites"
},
"link": {
"name": "Link",
"description": "Single quick-access link",
"loading": "Loading link...",
"empty": "No link set yet.",
"addTitle": "Title",
"addUrl": "URL",
"addButton": "Add",
"listView": "List",
"gridView": "Tile",
"editButton": "Edit link",
"deleteButton": "Delete link",
"saveButton": "Save",
"cancelButton": "Cancel",
"error": "Error loading link"
},
"stopwatch": {
"name": "Stopwatch",
"description": "Time measurement with lap times",
"start": "Start",
"stop": "Stop",
"reset": "Reset",
"lap": "Lap"
}
},
"admin": {
"users": {
"title": "User Management",
"create": "Create User",
"edit": "Edit User",
"delete": "Delete User",
"deleteConfirm": "Are you sure you want to delete this user?",
"name": "Name",
"username": "Username",
"email": "Email",
"displayName": "Display Name",
"role": "Role",
"status": "Status",
"actions": "Actions",
"password": "Password",
"noUsers": "No users found"
},
"tenants": {
"title": "Tenant Management",
"create": "Create Tenant",
"edit": "Edit Tenant",
"name": "Name",
"slug": "Slug",
"status": "Status",
"userCount": "Users",
"actions": "Actions",
"noTenants": "No tenants found",
"deleteConfirm": "Are you sure you want to delete this tenant?",
"cannotDeleteActive": "Cannot delete tenants with active users"
}
},
"adminModules": {
"title": "Module Management",
"description": "Activate or deactivate modules for your tenant",
"activate": "Activate",
"deactivate": "Deactivate",
"activated": "Activated",
"deactivated": "Deactivated",
"system": "System",
"version": "Version",
"noModules": "No modules available",
"activateSuccess": "Module activated successfully",
"deactivateSuccess": "Module deactivated successfully",
"error": "Error managing module"
},
"theme": {
"light": "Light",
"dark": "Dark",
"system": "System"
},
"locale": {
"de": "Deutsch",
"en": "English"
},
"modules": {
"categoryTitle": "Modules: {category}",
"openModule": "Open",
"noModules": "No active modules in this category",
"notFound": "Module not found",
"notFoundDescription": "The requested module does not exist or is not activated.",
"backToCategory": "Back to category",
"allModules": "Modules",
"allModulesDescription": "Available modules for your tenant",
"noActiveModules": "No modules activated. Ask your administrator to enable modules."
},
"domaincheck": {
"title": "Domain Check",
"description": "Check if a domain is available",
"inputPlaceholder": "Enter domain (e.g. example.com)",
"suggestions": "Alternatives",
"checkButton": "Check",
"statusAvailable": "Available",
"statusRegistered": "Registered",
"noResults": "Enter a domain name to check availability",
"checking": "Checking...",
"error": "Error checking domain"
},
"dkvFleet": {
"pageTitle": "DKV Invoice",
"checkNow": "Check Now",
"checking": "Checking...",
"lastChecked": "Last checked: {time}",
"neverChecked": "Never checked",
"settingsTitle": "Module Settings",
"historyTitle": "Processing History",
"exportFilesTitle": "Recent Export Files",
"emptyHistory": "No invoices processed yet",
"emptyHistoryBody": "Click 'Check Now' to poll the inbox. New invoices will appear here automatically.",
"emptyExports": "No export files available yet",
"emptyVehicles": "No vehicles configured",
"emptyVehiclesBody": "Add vehicles manually or upload a CSV file.",
"status": {
"processed": "Processed",
"error": "Error",
"sendFailed": "Send Failed"
},
"col": {
"dateTime": "Date/Time",
"invoiceNumber": "Invoice Number",
"vehicles": "Vehicles",
"transactions": "Transactions",
"status": "Status",
"exportFile": "Export File",
"licensePlate": "License Plate",
"brand": "Make",
"model": "Model",
"driver": "Driver",
"actions": "Actions"
},
"addVehicle": "Add Vehicle",
"editVehicle": "Edit Vehicle",
"deleteVehicle": "Delete Vehicle",
"deleteVehicleBody": "Vehicle {plate} will be permanently removed from the master list. This action cannot be undone.",
"importCsv": "Import CSV",
"csvFormatHelp": "CSV format (semicolon): Kennzeichen;Marke;Modell;Fahrer",
"csvFormatExample": "Example: GP-JL 728E;Mercedes;GLC 300;Max Mustermann",
"importMode": "Import Mode",
"importMerge": "Merge — add new vehicles, keep existing",
"importReplace": "Replace — delete all existing vehicles and re-import",
"importReplaceWarning": "All existing vehicles will be replaced.",
"importReplaceConfirmTitle": "Replace Vehicles?",
"importReplaceConfirmBody": "All existing vehicles will be replaced with the CSV data. This action cannot be undone.",
"importReplaceConfirmButton": "Replace",
"importSuccess": "{count} vehicles imported",
"vehicleCount": "{count} vehicles",
"tabs": {
"inbox": "Inbox",
"vehicles": "Vehicles"
},
"form": {
"protocol": "Protocol",
"host": "Host",
"hostExchange": "EWS URL",
"domain": "Domain",
"domainHelp": "Optional — Windows domain (e.g. CONTOSO). Leave blank if not required.",
"port": "Port",
"encryption": "Encryption",
"encryptionNone": "None",
"folder": "Folder / Mailbox",
"folderExchangeHelp": "Common mailboxes: Inbox, SentItems, DeletedItems, Drafts, JunkEmail",
"senderFilter": "Sender Filter",
"pollInterval": "Poll Interval",
"pollIntervalSuffix": "Minutes",
"username": "Username",
"password": "Password",
"exportRecipient": "Export Recipient",
"vehicleFormat": "Vehicle Format String",
"vehicleFormatHelp": "Available placeholders: {Marke}, {Modell}, {Kennzeichen}, {Fahrer}",
"active": "Active",
"testConnection": "Test Connection",
"testTesting": "Testing connection...",
"testSuccess": "Connection successful",
"testFailed": "Connection failed: {error}",
"save": "Save Settings",
"cancel": "Cancel Editing",
"cancelDialog": "Cancel",
"showPassword": "Show password",
"hidePassword": "Hide password",
"exchangeAuthHint": "401 — possible causes:",
"exchangeAuthHint1": "Wrong password or username",
"exchangeAuthHint2": "Domain: Windows short name (e.g. COMPANY, not company.com)",
"exchangeAuthHint3": "Username without domain prefix (e.g. 'max.muster', not 'COMPANY\\max.muster')",
"exchangeAuthHint4": "Office 365 / Exchange Online: EWS basic auth disabled since Oct 2022 — not supported"
},
"errors": {
"pollFailed": "Could not check inbox. Review the configuration under 'Module Settings > Inbox'.",
"smtpFailed": "Export was created but could not be sent. The file is still available for manual download."
}
},
"marketplace": {
"title": "Marketplace",
"subtitle": "Discover and activate modules for your tenant",
"activate": "Activate Module",
"deactivate": "Deactivate",
"searchPlaceholder": "Search modules...",
"statusAll": "All",
"statusActive": "Activated",
"statusAvailable": "Available",
"categoryAll": "All",
"emptyTitle": "No modules available yet",
"emptyBody": "Modules are provided by the system administrator. Check back later.",
"filteredEmptyTitle": "No results",
"filteredEmptyBody": "Try a different search term or adjust your filters.",
"errorLoad": "Could not load modules. Please reload the page.",
"toastActivated": "Module activated successfully",
"toastDeactivated": "Module deactivated successfully",
"toastActivateError": "Activation failed. Please try again.",
"toastDeactivateError": "Deactivation failed. Please try again.",
"deactivateDialogTitle": "Deactivate Module",
"deactivateDialogBody": "Do you want to deactivate {moduleName} for this tenant? The module will be removed from the sidebar.",
"deactivateDialogConfirm": "Deactivate",
"deactivateDialogCancel": "Cancel",
"tenantContextLabel": "Tenant Context",
"backToMarketplace": "Back to Marketplace",
"detailVersion": "Version {version}",
"detailStatusActive": "Activated for this tenant",
"detailStatusInactive": "Not activated"
},
"certManager": {
"title": "Certificate Manager",
"description": "Inspect, split, merge and convert certificates.",
"tabs": {
"inspect": "Inspect",
"split": "Split",
"merge": "Merge",
"convert": "Convert"
},
"dropZone": {
"placeholder": "Drag file here or click to browse",
"formats": ".pem, .crt, .cer, .der, .pfx, .p12, .p7b, .p7c"
},
"paste": {
"placeholder": "Paste PEM content (-----BEGIN ...)"
},
"password": {
"label": "Password (PFX/P12)"
},
"or": "or",
"actions": {
"inspect": "Inspect",
"split": "Split",
"merge": "Merge",
"convert": "Convert",
"download": "Download",
"processing": "Processing..."
},
"emptyState": {
"inspect": "No certificate loaded.",
"inspectBody": "Upload a file or paste PEM text.",
"split": "No file loaded.",
"splitBody": "Upload a fullchain or P7B file.",
"merge": "No certificates selected.",
"mergeBody": "Upload at least two files.",
"convert": "No file loaded.",
"convertBody": "Upload a file and select an output format."
},
"error": {
"generic": "Processing failed. Check the file format or password.",
"wrongPassword": "Wrong password. Could not decrypt the PFX/P12 file.",
"unknownFormat": "Unknown format. The file could not be recognized as a certificate."
}
"accessDenied": "Access denied" }
}