2026-02-04 23:31:53 +01:00
{
"Login" : "Login" ,
2026-03-07 21:21:47 +01:00
"Login credentials" : "Login credentials" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Login options" : "Login options" ,
2026-02-04 23:31:53 +01:00
"Register" : "Register" ,
"Password" : "Password" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Or" : "Or" ,
2026-02-04 23:31:53 +01:00
"Forgot password" : "Forgot password" ,
"Remember me" : "Remember me" ,
"Clear login tokens" : "Clear login tokens" ,
"Clear all login tokens for this user?" : "Clear all login tokens for this user?" ,
"Login tokens cleared" : "Login tokens cleared" ,
"Send access" : "Send access" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Access PDF" : "Access PDF" ,
"Download access PDFs" : "Download access PDFs" ,
"Generate access PDFs for selected users?" : "Generate access PDFs for selected users?" ,
"Too many users selected" : "Too many users selected" ,
"No valid users selected" : "No valid users selected" ,
"Failed to generate access PDF" : "Failed to generate access PDF" ,
"ZIP support missing (ext-zip)" : "ZIP support missing (ext-zip)" ,
2026-02-04 23:31:53 +01:00
"Send access email to this user?" : "Send access email to this user?" ,
"Access email sent" : "Access email sent" ,
"Access email failed" : "Access email failed" ,
"Your access details" : "Your access details" ,
"Reset password" : "Reset password" ,
"Verification code" : "Verification code" ,
"Verify code" : "Verify code" ,
"Verify" : "Verify" ,
"Send code" : "Send code" ,
"Send code again" : "Send code again" ,
"Enter your email address and we will send you a verification code." : "Enter your email address and we will send you a verification code." ,
"Enter the verification code we sent to your email." : "Enter the verification code we sent to your email." ,
"Please enter a valid email address" : "Please enter a valid email address" ,
"Please enter the 6-digit code" : "Please enter the 6-digit code" ,
"Invalid or expired code" : "Invalid or expired code" ,
"Code verified" : "Code verified" ,
"Password reset code" : "Password reset code" ,
"If the email exists, a verification code has been sent." : "If the email exists, a verification code has been sent." ,
"Choose a new password for your account." : "Choose a new password for your account." ,
"Password updated" : "Password updated" ,
"Password can not be updated" : "Password can not be updated" ,
2026-02-24 08:49:40 +01:00
"Profile can not be updated" : "Profile can not be updated" ,
2026-02-04 23:31:53 +01:00
"Reset request not found" : "Reset request not found" ,
"Reset request already used" : "Reset request already used" ,
"Reset request expired" : "Reset request expired" ,
"Username" : "Username" ,
"Admin" : "Admin" ,
"Logout" : "Logout" ,
"Account" : "Account" ,
"Please enter your credentials" : "Please enter your credentials" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Enter your email to continue" : "Enter your email to continue" ,
"Select your tenant to continue" : "Select your tenant to continue" ,
"Choose how you want to sign in" : "Choose how you want to sign in" ,
"Continue" : "Continue" ,
2026-03-07 22:54:33 +01:00
"Show password" : "Show password" ,
"Hide password" : "Hide password" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Use different email" : "Use different email" ,
2026-03-07 14:10:36 +01:00
"Back to login" : "Back to login" ,
2026-03-06 21:59:41 +01:00
"Encrypted connection" : "Encrypted" ,
"HTTPS/TLS 1.2+ in transit" : "HTTPS/TLS 1.2+ in transit" ,
"Problems logging in" : "Problems logging in" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"We could not continue with these login details" : "We could not continue with these login details" ,
"Too many login attempts. Please wait and try again." : "Too many login attempts. Please wait and try again." ,
"No login method is available for this tenant" : "No login method is available for this tenant" ,
"Cached" : "Cached" ,
2026-03-09 22:29:45 +01:00
"App identity" : "App identity" ,
"Configured" : "Configured" ,
"Not configured" : "Not configured" ,
"Theme policy" : "Theme policy" ,
"Brand color" : "Brand color" ,
"User override enabled" : "User override enabled" ,
"User override disabled" : "User override disabled" ,
"Token lifetime policy" : "Token lifetime policy" ,
"Token operations" : "Token operations" ,
"CORS allowlist" : "CORS allowlist" ,
"Shared Microsoft credentials" : "Shared Microsoft credentials" ,
"Authority endpoint" : "Authority endpoint" ,
"SMTP connection" : "SMTP connection" ,
"SMTP credentials" : "SMTP credentials" ,
"Sender identity" : "Sender identity" ,
"%d defaults configured" : "%d defaults configured" ,
"%d events enabled" : "%d events enabled" ,
"%d origins configured" : "%d origins configured" ,
"days" : "days" ,
"Leave empty to use the runtime default title." : "Leave empty to use the runtime default title." ,
"Leave empty to keep the currently stored password." : "Leave empty to keep the currently stored password." ,
"Leave empty to keep the currently stored client secret." : "Leave empty to keep the currently stored client secret." ,
"This setting controls the application name shown across the UI." : "This setting controls the application name shown across the UI." ,
"This setting controls the default language for users without a personal preference." : "This setting controls the default language for users without a personal preference." ,
"These defaults prefill tenant, department and role when new users are created." : "These defaults prefill tenant, department and role when new users are created." ,
"This setting controls the global default theme and whether users may choose their own theme." : "This setting controls the global default theme and whether users may choose their own theme." ,
"This setting controls the primary UI accent color for the default app theme." : "This setting controls the primary UI accent color for the default app theme." ,
"Telemetry helps detect recurring UI issues and failed requests in production." : "Telemetry helps detect recurring UI issues and failed requests in production." ,
"Limit which event types are collected to match your privacy and operations requirements." : "Limit which event types are collected to match your privacy and operations requirements." ,
"These settings define how the application connects to your SMTP server." : "These settings define how the application connects to your SMTP server." ,
"Provide authentication data used by the SMTP transport." : "Provide authentication data used by the SMTP transport." ,
"This identity appears in outgoing emails sent by the platform." : "This identity appears in outgoing emails sent by the platform." ,
"These limits define default and maximum lifetimes for newly issued API tokens." : "These limits define default and maximum lifetimes for newly issued API tokens." ,
"Define which origins may call your API from browsers. Use one origin per line." : "Define which origins may call your API from browsers. Use one origin per line." ,
"This action revokes all active API tokens immediately across all users." : "This action revokes all active API tokens immediately across all users." ,
"The authority URL defines the Microsoft identity tenant endpoint used for sign-in." : "The authority URL defines the Microsoft identity tenant endpoint used for sign-in." ,
"This will expire all remember-me tokens immediately and force users to sign in again." : "This will expire all remember-me tokens immediately and force users to sign in again." ,
2026-04-01 20:27:42 +02:00
"Global settings are stored in the database. storage/runtime/settings.php is only a runtime cache for selected app settings." : "Global settings are stored in the database. storage/runtime/settings.php is only a runtime cache for selected app settings." ,
2026-02-04 23:31:53 +01:00
"Create your account" : "Create your account" ,
"First name" : "First name" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Name" : "Name" ,
2026-02-04 23:31:53 +01:00
"Last name" : "Last name" ,
"Email" : "Email" ,
"Password (again)" : "Password confirm" ,
"Password requirements" : "Password requirements" ,
"At least %d characters" : "At least %d characters" ,
"At least one uppercase letter" : "At least one uppercase letter" ,
"At least one lowercase letter" : "At least one lowercase letter" ,
"At least one number" : "At least one number" ,
"At least one symbol" : "At least one symbol" ,
"Must not contain your email" : "Must not contain your email" ,
"Login successful" : "Login successful" ,
"Email/password not valid" : "Email or password is invalid" ,
"First name cannot be empty" : "First name cannot be empty" ,
"Last name cannot be empty" : "Last name cannot be empty" ,
"Email cannot be empty" : "Email cannot be empty" ,
"Email is not valid" : "Email is not valid" ,
"Password cannot be empty" : "Password cannot be empty" ,
"Passwords must match" : "Passwords must match" ,
"Password must be at least %d characters" : "Password must be at least %d characters" ,
"Password must include an uppercase letter" : "Password must include an uppercase letter" ,
"Password must include a lowercase letter" : "Password must include a lowercase letter" ,
"Password must include a number" : "Password must include a number" ,
"Password must include a symbol" : "Password must include a symbol" ,
"Password must not contain your email" : "Password must not contain your email" ,
"Email is already taken" : "Email is already taken" ,
"User can not be registered" : "User can not be registered" ,
"Language not supported" : "Language not supported" ,
"Language" : "Language" ,
"Sales" : "Sales" ,
"Sales rooms" : "Sales rooms" ,
"Sales processes" : "Sales processes" ,
"Master data" : "Master data" ,
"Properties" : "Properties" ,
"Units" : "Units" ,
"Organization" : "Organization" ,
"Users & permissions" : "Users & permissions" ,
"Roles & permissions" : "Roles & permissions" ,
"Permissions" : "Permissions" ,
"Permission key" : "Permission key" ,
"Create permission" : "Create permission" ,
"Edit permission" : "Edit permission" ,
2026-03-22 22:28:19 +01:00
"View permission" : "View permission" ,
2026-02-04 23:31:53 +01:00
"Delete this permission?" : "Delete this permission?" ,
"Permission created" : "Permission created" ,
"Permission updated" : "Permission updated" ,
"Permission deleted" : "Permission deleted" ,
"Permission not found" : "Permission not found" ,
"Permission can not be created" : "Permission can not be created" ,
"Permission can not be updated" : "Permission can not be updated" ,
"Permission key cannot be empty" : "Permission key cannot be empty" ,
"Permission key is invalid" : "Permission key is invalid" ,
"Permission key already exists" : "Permission key already exists" ,
"Assigned permissions" : "Assigned permissions" ,
"Select permissions" : "Select permissions" ,
2026-03-13 09:49:11 +01:00
"No permissions available" : "No permissions available" ,
"No active permissions are configured yet." : "No active permissions are configured yet." ,
2026-03-13 18:56:19 +01:00
"No active roles are configured yet." : "No active roles are configured yet." ,
2026-02-04 23:31:53 +01:00
"Permission denied" : "Permission denied" ,
"No active tenant assigned" : "No active tenant assigned" ,
"Please select at least one tenant" : "Please select at least one tenant" ,
"Effective permissions" : "Effective permissions" ,
"perm.users.view" : "View users" ,
"perm.users.create" : "Create users" ,
"perm.users.update" : "Update users" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"perm.users.access_pdf" : "Generate onboarding PDFs" ,
2026-02-04 23:31:53 +01:00
"perm.users.delete" : "Delete users" ,
"perm.users.self_update" : "Update own user" ,
"perm.users.update_assignments" : "Update user assignments" ,
"Permission origin" : "Permission origin" ,
"perm.tenants.view" : "View tenants" ,
"perm.tenants.create" : "Create tenants" ,
"perm.tenants.update" : "Update tenants" ,
"perm.tenants.delete" : "Delete tenants" ,
"perm.departments.view" : "View departments" ,
"perm.departments.create" : "Create departments" ,
"perm.departments.update" : "Update departments" ,
"perm.departments.delete" : "Delete departments" ,
"perm.roles.view" : "View roles" ,
"perm.roles.create" : "Create roles" ,
"perm.roles.update" : "Update roles" ,
"perm.roles.delete" : "Delete roles" ,
2026-03-13 21:11:48 +01:00
"perm.roles.assign_all" : "Assign all roles" ,
2026-02-04 23:31:53 +01:00
"perm.permissions.view" : "View permissions" ,
"perm.permissions.create" : "Create permissions" ,
"perm.permissions.update" : "Update permissions" ,
"perm.permissions.delete" : "Delete permissions" ,
"perm.settings.view" : "View settings" ,
"perm.settings.update" : "Update settings" ,
"perm.mail_log.view" : "View mail logs" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"perm.jobs.view" : "View scheduled jobs" ,
"perm.jobs.manage" : "Manage scheduled jobs" ,
"perm.jobs.run_now" : "Run scheduled jobs manually" ,
"perm.user_lifecycle_audit.view" : "View user lifecycle logs" ,
"perm.users.lifecycle_restore" : "Restore users from lifecycle audit" ,
2026-02-04 23:31:53 +01:00
"Select row" : "Select row" ,
"Select all" : "Select all" ,
"Activate" : "Activate" ,
"Deactivate" : "Deactivate" ,
"Delete" : "Delete" ,
"Activate users?" : "Activate users?" ,
"Deactivate users?" : "Deactivate users?" ,
"Delete users?" : "Delete users?" ,
"Send access emails to selected users?" : "Send access emails to selected users?" ,
"%d users activated" : "%d users activated" ,
"%d users deactivated" : "%d users deactivated" ,
"%d users deleted" : "%d users deleted" ,
"Access emails sent to %d users" : "Access emails sent to %d users" ,
"Access emails sent to %d users, %f failed" : "Access emails sent to %d users, %f failed" ,
"Failed to activate users" : "Failed to activate users" ,
"Failed to deactivate users" : "Failed to deactivate users" ,
"Failed to delete users" : "Failed to delete users" ,
"Failed to send access emails" : "Failed to send access emails" ,
"Read" : "Read" ,
"Home" : "Home" ,
2026-03-24 22:00:14 +01:00
"Exception" : "Exception" ,
"An error occurred" : "An error occurred" ,
"in %s on line %s" : "in %s on line %s" ,
"Copy request ID" : "Copy request ID" ,
"Error details" : "Error details" ,
"Request" : "Request" ,
"Queries" : "Queries" ,
"An unexpected error occurred. If the problem persists, please contact support with the reference below." : "An unexpected error occurred. If the problem persists, please contact support with the reference below." ,
"Stack Trace" : "Stack Trace" ,
"Caused by" : "Caused by" ,
"URL" : "URL" ,
"User Agent" : "User Agent" ,
"Headers" : "Headers" ,
"GET Parameters" : "GET Parameters" ,
"POST Parameters" : "POST Parameters" ,
"Session (keys + types)" : "Session (keys + types)" ,
"Context" : "Context" ,
"PHP" : "PHP" ,
"SAPI" : "SAPI" ,
"Memory (current)" : "Memory (current)" ,
"Memory (peak)" : "Memory (peak)" ,
"Application" : "Application" ,
"Active Modules" : "Active Modules" ,
"Loaded Extensions (%d)" : "Loaded Extensions (%d)" ,
"Query tracking is not available (Debugger disabled or not initialized)." : "Query tracking is not available (Debugger disabled or not initialized)." ,
"No queries were executed before the error occurred." : "No queries were executed before the error occurred." ,
"Queries (%d)" : "Queries (%d)" ,
"Bad Request" : "Bad Request" ,
"Unauthorized" : "Unauthorized" ,
"Forbidden" : "Forbidden" ,
"Not Found" : "Not Found" ,
"Method Not Allowed" : "Method Not Allowed" ,
"Request Timeout" : "Request Timeout" ,
"Unprocessable Entity" : "Unprocessable Entity" ,
"Too Many Requests" : "Too Many Requests" ,
"Internal Server Error" : "Internal Server Error" ,
"Bad Gateway" : "Bad Gateway" ,
"Service Unavailable" : "Service Unavailable" ,
2026-02-04 23:31:53 +01:00
"Users" : "Users" ,
"All users" : "All users" ,
"Avatar" : "Avatar" ,
"Theme" : "Theme" ,
"Light" : "Light" ,
"Dark" : "Dark" ,
2026-02-11 19:28:12 +01:00
"Dark green" : "Dark green" ,
2026-02-04 23:31:53 +01:00
"Toggle theme" : "Toggle theme" ,
2026-03-24 14:12:49 +01:00
"Main menu" : "Main menu" ,
2026-02-04 23:31:53 +01:00
"Toggle Sidebar" : "Toggle Sidebar" ,
"Toggle Detail Sidebar" : "Toggle Detail Sidebar" ,
"2FA Settings" : "2FA Settings" ,
"%d selected" : "%d selected" ,
"Create user" : "Create user" ,
"Add a new user account" : "Add a new user account" ,
"Edit user" : "Edit user" ,
2026-03-22 22:28:19 +01:00
"View user" : "View user" ,
2026-02-04 23:31:53 +01:00
"Update account details" : "Update account details" ,
"Create" : "Create" ,
"Create & close" : "Create & close" ,
"Save" : "Save" ,
"Save & close" : "Save & close" ,
"Cancel" : "Cancel" ,
2026-03-06 00:44:52 +01:00
"Close" : "Close" ,
"Confirm" : "Confirm" ,
"Please confirm" : "Please confirm" ,
"This action cannot be undone." : "This action cannot be undone." ,
2026-02-04 23:31:53 +01:00
"Active" : "Active" ,
"Actions" : "Actions" ,
"ID" : "ID" ,
"Created" : "Created" ,
"Created by" : "Created by" ,
"Modified by" : "Modified by" ,
"Modified" : "Modified" ,
"No users found" : "No users found" ,
2026-03-05 11:17:42 +01:00
"Open" : "Open" ,
2026-03-05 12:51:53 +01:00
"Press Enter to open row" : "Press Enter to open row" ,
"Retry" : "Retry" ,
2026-02-04 23:31:53 +01:00
"Yes" : "Yes" ,
"No" : "No" ,
"User created" : "User created" ,
"User updated" : "User updated" ,
"User deleted" : "User deleted" ,
"User activated" : "User activated" ,
"User deactivated" : "User deactivated" ,
"User not found" : "User not found" ,
"User can not be updated" : "User can not be updated" ,
"Avatar updated" : "Profile image updated" ,
"Avatar removed" : "Profile image removed" ,
"Upload failed" : "Upload failed" ,
"File is too large" : "File is too large" ,
"Invalid image file" : "Invalid image file" ,
"No file uploaded" : "No file uploaded" ,
"You cannot delete your own account" : "You cannot delete your own account" ,
"Login required" : "Login required" ,
"You cannot deactivate your own account" : "You cannot deactivate your own account" ,
"Welcome back" : "Welcome back" ,
"Total users" : "Total users" ,
"Open user management" : "Open user management" ,
"New password (optional)" : "New password (optional)" ,
"TOTP secret" : "TOTP secret" ,
"Account is inactive" : "Account is inactive" ,
"No account yet" : "No account yet" ,
"Inactive" : "Inactive" ,
"Filter" : "Filter" ,
2026-03-04 15:56:58 +01:00
"Apply filters" : "Apply filters" ,
"Discard changes" : "Discard changes" ,
"Active filters" : "Active filters" ,
"Clear all filters" : "Clear all filters" ,
"No active filters" : "No active filters" ,
"Close filters" : "Close filters" ,
"Remove filter" : "Remove filter" ,
"Filters applied" : "Filters applied" ,
"Filter removed" : "Filter removed" ,
"All filters cleared" : "All filters cleared" ,
"%d changes not applied" : "%d changes not applied" ,
2026-02-04 23:31:53 +01:00
"UUID" : "UUID" ,
"Profile image" : "Profile image" ,
"Profile" : "Profile" ,
"Profile description" : "Profile description" ,
"Info" : "Info" ,
"Search results" : "Search results" ,
"Result" : "Result" ,
"Type" : "Type" ,
"Page" : "Page" ,
"Upload image" : "Upload image" ,
"Remove image" : "Remove image" ,
"App logo" : "App logo" ,
"Upload logo" : "Upload logo" ,
"Remove logo" : "Remove logo" ,
"Logo updated" : "Logo updated" ,
"Logo removed" : "Logo removed" ,
"Allowed file types: SVG, PNG, JPG, WEBP" : "Allowed file types: SVG, PNG, JPG, WEBP" ,
"Favicon" : "Favicon" ,
"Upload favicon" : "Upload favicon" ,
"Remove favicon" : "Remove favicon" ,
"Favicon updated" : "Favicon updated" ,
"Favicon removed" : "Favicon removed" ,
"Allowed file types: PNG" : "Allowed file types: PNG" ,
"Square images are recommended (icons are center-cropped)." : "Square images are recommended (icons are center-cropped)." ,
"Favicon preview" : "Favicon preview" ,
"Primary color" : "Primary color" ,
"Primary color is invalid" : "Primary color is invalid" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"The primary color affects buttons and accent elements across the app." : "The primary color affects buttons and accent elements across the app." ,
2026-02-04 23:31:53 +01:00
"Show filters" : "Show filters" ,
"Hide filters" : "Hide filters" ,
"Export CSV" : "Export CSV" ,
"Reset filters" : "Reset filters" ,
"State" : "State" ,
"Edit" : "Edit" ,
"Status" : "Status" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Visibility" : "Visibility" ,
"Inactive entries are hidden in lists and selections." : "Inactive entries are hidden in lists and selections." ,
2026-02-04 23:31:53 +01:00
"All" : "All" ,
"All people" : "All people" ,
"Explorer" : "Explorer" ,
"Search" : "Search" ,
"Search..." : "Search..." ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"To start searching, type in the search field." : "To start searching, type in the search field." ,
"Tip: Use {shortcut} to focus search quickly." : "Tip: Use {shortcut} to focus search quickly." ,
2026-04-01 20:27:42 +02:00
"Search users, tenants, pages..." : "Search users, tenants, pages..." ,
"Users, tenants, departments, roles and more" : "Users, tenants, departments, roles and more" ,
2026-04-01 16:31:59 +02:00
"Searching..." : "Searching..." ,
"Search failed. Please try again." : "Search failed. Please try again." ,
"No results found" : "No results found" ,
"View all results" : "View all results" ,
"to close" : "to close" ,
2026-04-01 20:27:42 +02:00
"navigate" : "navigate" ,
"open" : "open" ,
"close" : "close" ,
2026-02-04 23:31:53 +01:00
"Created from" : "Created from" ,
"Created to" : "Created to" ,
"Files" : "Files" ,
"Settings" : "Settings" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Documentation" : "Documentation" ,
"Documentation navigation" : "Documentation navigation" ,
"On this page" : "On this page" ,
"Getting started" : "Getting started" ,
"Local development" : "Local development" ,
"First change" : "First change" ,
"Developer checklist" : "Developer checklist" ,
"Architecture & rules" : "Architecture & rules" ,
"Architecture" : "Architecture" ,
"Security model" : "Security model" ,
"Conventions" : "Conventions" ,
"Frontend" : "Frontend" ,
"Features" : "Features" ,
"Settings storage" : "Settings storage" ,
"Rate limiting" : "Rate limiting" ,
"User lifecycle" : "User lifecycle" ,
"Global search" : "Global search" ,
"API reference" : "API reference" ,
"Operations" : "Operations" ,
"Troubleshooting" : "Troubleshooting" ,
"Configuration" : "Configuration" ,
"Automation & integrations" : "Automation & integrations" ,
"Monitoring" : "Monitoring" ,
"Logs" : "Logs" ,
2026-02-04 23:31:53 +01:00
"System" : "System" ,
2026-02-11 19:28:12 +01:00
"System permission" : "System permission" ,
"System permission can not be deleted" : "System permission can not be deleted" ,
"System permissions are core and should rarely be disabled." : "System permissions are core and should rarely be disabled." ,
2026-02-04 23:31:53 +01:00
"Statistics" : "Statistics" ,
"Organization breakdown" : "Organization breakdown" ,
"Department assignments" : "Department assignments" ,
"Assigned users (Active/Inactive)" : "Assigned users (Active/Inactive)" ,
"User status" : "User status" ,
"Users & roles" : "Users & roles" ,
"Active users" : "Active users" ,
"Inactive users" : "Inactive users" ,
"Total emails" : "Total emails" ,
"Sent emails" : "Sent emails" ,
"Failed emails" : "Failed emails" ,
"Queued emails" : "Queued emails" ,
"Last 24 hours" : "Last 24 hours" ,
"Total (24h)" : "Total (24h)" ,
"Sent (24h)" : "Sent (24h)" ,
"Failed (24h)" : "Failed (24h)" ,
"Queued (24h)" : "Queued (24h)" ,
"Sidebar sections" : "Sidebar sections" ,
"All files" : "All files" ,
"My files" : "My files" ,
"Shared with me" : "Shared with me" ,
"Add" : "Add" ,
"Search options" : "Search options" ,
"New folder" : "New folder" ,
"Toggle navigation" : "Toggle navigation" ,
"Primary navigation" : "Primary navigation" ,
2026-03-06 00:44:52 +01:00
"Footer navigation" : "Footer navigation" ,
2026-03-05 12:51:53 +01:00
"Language switcher" : "Language switcher" ,
2026-02-04 23:31:53 +01:00
"Sort column ascending" : "Sort column ascending" ,
"Sort column descending" : "Sort column descending" ,
"Previous" : "Previous" ,
"Next" : "Next" ,
2026-03-05 12:51:53 +01:00
"Navigation" : "Navigation" ,
"Display" : "Display" ,
"Session" : "Session" ,
2026-02-04 23:31:53 +01:00
"Page %d of %d" : "Page %d of %d" ,
"Page %d" : "Page %d" ,
2026-03-05 12:51:53 +01:00
"Per page" : "Per page" ,
"Skip to main content" : "Skip to main content" ,
2026-03-05 11:17:42 +01:00
"Rows per page" : "Rows per page" ,
2026-02-04 23:31:53 +01:00
"Showing" : "Showing" ,
"of" : "of" ,
"to" : "to" ,
"results" : "results" ,
"Loading..." : "Loading..." ,
"No records found" : "No records found" ,
"An error happened while fetching the data" : "An error happened while fetching the data" ,
"Delete this user?" : "Delete this user?" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Delete user" : "Delete user" ,
"This will permanently delete this user." : "This will permanently delete this user." ,
2026-02-04 23:31:53 +01:00
"Delete this tenant?" : "Delete this tenant?" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Delete tenant" : "Delete tenant" ,
"This will permanently delete this tenant." : "This will permanently delete this tenant." ,
2026-02-04 23:31:53 +01:00
"Tenant" : "Tenant" ,
"Default tenant" : "Default tenant" ,
"Default role" : "Default role" ,
"Default department" : "Default department" ,
"Default" : "Default" ,
"Identity" : "Identity" ,
"Access" : "Access" ,
"Access & password" : "Access & password" ,
"Security" : "Security" ,
"Preferences" : "Preferences" ,
"Assignments" : "Assignments" ,
"My account" : "My account" ,
"Defaults" : "Defaults" ,
"None" : "None" ,
"Settings updated" : "Settings updated" ,
"setting.default_tenant" : "Default tenant used when no tenant is assigned on user creation" ,
"setting.default_role" : "Default role used when no role is assigned on user creation" ,
"setting.default_department" : "Default department used when no department is assigned on user creation" ,
"setting.app_title" : "App title shown in the browser title bar" ,
"setting.app_locale" : "Default language used when no user or URL locale is set" ,
"Default language" : "Default language" ,
"setting.app_theme" : "Default theme used when a user has no theme preference" ,
"setting.app_theme_user" : "Allow users to choose their own theme" ,
2026-02-11 19:28:12 +01:00
"setting.app_registration" : "Allow public self-registration" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"setting.api_token_default_ttl_days" : "Default lifetime for newly created API tokens in days (default: 90)" ,
"setting.api_token_max_ttl_days" : "Maximum lifetime for API tokens in days (hard cap)" ,
"setting.api_cors_allowed_origins" : "Allowed browser origins for API CORS (one origin per line)" ,
2026-02-04 23:31:53 +01:00
"setting.app_primary_color" : "Overrides the default primary color (hex like #2FA4A4)" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"API token default lifetime (days)" : "API token default lifetime (days)" ,
"API token maximum lifetime (days)" : "API token maximum lifetime (days)" ,
"Allowed CORS origins" : "Allowed CORS origins" ,
"One origin per line, e.g. https://app.example.com" : "One origin per line, e.g. https://app.example.com" ,
2026-02-04 23:31:53 +01:00
"Default theme" : "Default theme" ,
"Allow user theme" : "Allow user theme" ,
2026-02-11 19:28:12 +01:00
"Allow registration" : "Allow registration" ,
2026-02-04 23:31:53 +01:00
"General" : "General" ,
"Appearance" : "Appearance" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"API settings" : "API settings" ,
"API docs" : "API docs" ,
"API documentation" : "API documentation" ,
"Can view API documentation" : "Can view API documentation" ,
"API tokens and default lifetimes are managed here." : "API tokens and default lifetimes are managed here." ,
2026-02-04 23:31:53 +01:00
"Use default color" : "Use default color" ,
"Tenants can override this color in their appearance settings." : "Tenants can override this color in their appearance settings." ,
"Using the default color applies the global system appearance." : "Using the default color applies the global system appearance." ,
2026-02-11 19:28:12 +01:00
"Inactive tenants are excluded from user access and tenant-scoped data." : "Inactive tenants are excluded from user access and tenant-scoped data." ,
2026-02-04 23:31:53 +01:00
"Status & meta" : "Status & meta" ,
"Audit" : "Audit" ,
"Overview" : "Overview" ,
"Choose color" : "Choose color" ,
"Be careful - this resets the tenants color" : "Be careful - this resets the tenant color" ,
2026-02-11 19:28:12 +01:00
"Code" : "Code" ,
"Cost center" : "Cost center" ,
"Department code already exists" : "Department code already exists" ,
"Role code already exists" : "Role code already exists" ,
2026-02-04 23:31:53 +01:00
"Internationalization" : "Internationalization" ,
"User creation rules" : "User creation rules" ,
"Branding" : "Branding" ,
"App title" : "App title" ,
"Tenants" : "Tenants" ,
"Create tenant" : "Create tenant" ,
"Edit tenant" : "Edit tenant" ,
2026-03-22 22:28:19 +01:00
"View tenant" : "View tenant" ,
2026-02-04 23:31:53 +01:00
"Tenant created" : "Tenant created" ,
"Tenant updated" : "Tenant updated" ,
"Tenant deleted" : "Tenant deleted" ,
"Tenant not found" : "Tenant not found" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Tenant can not be deleted while departments are assigned" : "Tenant can not be deleted while departments are assigned" ,
2026-02-04 23:31:53 +01:00
"Tenant can not be created" : "Tenant can not be created" ,
"Tenant can not be updated" : "Tenant can not be updated" ,
"Tenant image" : "Tenant image" ,
"Assigned tenants" : "Assigned tenants" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Assigned tenant" : "Assigned tenant" ,
2026-02-04 23:31:53 +01:00
"Primary tenant" : "Primary tenant" ,
"Select primary tenant" : "Select primary tenant" ,
"Please select a primary tenant" : "Please select a primary tenant" ,
"Primary tenant must be one of the assigned tenants" : "Primary tenant must be one of the assigned tenants" ,
"Structure" : "Structure" ,
"Departments & roles" : "Departments & roles" ,
"Department assignments cleaned: %d" : "Department assignments cleaned: %d" ,
"Select tenants" : "Select tenants" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Select tenant" : "Select tenant" ,
"Which tenant do you want to sign in to?" : "Which tenant do you want to sign in to?" ,
2026-02-04 23:31:53 +01:00
"Assigned roles" : "Assigned roles" ,
"Select roles" : "Select roles" ,
"Department" : "Department" ,
"Departments" : "Departments" ,
"Create department" : "Create department" ,
"Edit department" : "Edit department" ,
2026-03-22 22:28:19 +01:00
"View department" : "View department" ,
2026-02-04 23:31:53 +01:00
"Department created" : "Department created" ,
"Department updated" : "Department updated" ,
"Department deleted" : "Department deleted" ,
"Department not found" : "Department not found" ,
"Department can not be created" : "Department can not be created" ,
"Department can not be updated" : "Department can not be updated" ,
2026-03-22 18:25:33 +01:00
"Department can not be deleted while users are assigned" : "Department can not be deleted while users are assigned" ,
2026-02-04 23:31:53 +01:00
"Delete this department?" : "Delete this department?" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Delete department" : "Delete department" ,
"This will permanently delete this department." : "This will permanently delete this department." ,
2026-02-04 23:31:53 +01:00
"Assigned departments" : "Assigned departments" ,
"Select departments" : "Select departments" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Departments for tenant" : "Departments for tenant" ,
"No departments available for this tenant" : "No departments available for this tenant" ,
"Assign tenants first to select departments" : "Assign tenants first to select departments" ,
2026-03-13 09:49:11 +01:00
"No tenants available" : "No tenants available" ,
"No tenant is available in your current scope." : "No tenant is available in your current scope." ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Department options refresh after save" : "Department options refresh after save" ,
2026-02-04 23:31:53 +01:00
"Role" : "Role" ,
"Roles" : "Roles" ,
2026-03-13 09:49:11 +01:00
"No roles available" : "No roles available" ,
2026-03-13 21:11:48 +01:00
"Assignable roles" : "Assignable roles" ,
2026-02-04 23:31:53 +01:00
"Create role" : "Create role" ,
"Edit role" : "Edit role" ,
2026-03-22 22:28:19 +01:00
"View role" : "View role" ,
2026-02-04 23:31:53 +01:00
"Role created" : "Role created" ,
"Role updated" : "Role updated" ,
"Role deleted" : "Role deleted" ,
"Role not found" : "Role not found" ,
"Role can not be created" : "Role can not be created" ,
"Role can not be updated" : "Role can not be updated" ,
"Delete this role?" : "Delete this role?" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Delete role" : "Delete role" ,
"Delete permission" : "Delete permission" ,
"This will permanently delete this role." : "This will permanently delete this role." ,
"This will permanently delete this permission." : "This will permanently delete this permission." ,
2026-02-04 23:31:53 +01:00
"Description" : "Description" ,
"Description cannot be empty" : "Description cannot be empty" ,
"Status is invalid" : "Status is invalid" ,
"Address" : "Address" ,
"Postal code" : "Postal code" ,
"City" : "City" ,
"Country" : "Country" ,
"Location" : "Location" ,
"Mail logs" : "Mail logs" ,
"Mail log" : "Mail log" ,
"View mail log" : "View mail log" ,
"Mail log not found" : "Mail log not found" ,
"Email details" : "Email details" ,
"Recipient" : "Recipient" ,
"Subject" : "Subject" ,
"Template" : "Template" ,
"Sent" : "Sent" ,
"Failed" : "Failed" ,
"Queued" : "Queued" ,
"Error message" : "Error message" ,
"Error information" : "Error information" ,
"Provider message ID" : "Provider message ID" ,
"Sent at" : "Sent at" ,
"Created at" : "Created at" ,
"Delivery information" : "Delivery information" ,
"All statuses" : "All statuses" ,
"Contact" : "Contact" ,
"Support" : "Support" ,
"Support email" : "Support email" ,
"Support phone" : "Support phone" ,
2026-03-13 09:49:11 +01:00
"No contact details available" : "No contact details available" ,
2026-02-04 23:31:53 +01:00
"VAT ID" : "VAT ID" ,
"Tax number" : "Tax number" ,
"Billing email" : "Billing email" ,
"Phone" : "Phone" ,
"Website" : "Website" ,
"Accounting info" : "Accounting info" ,
"Communication" : "Communication" ,
"Legal" : "Legal" ,
2026-03-13 09:49:11 +01:00
"No legal links configured" : "No legal links configured" ,
2026-02-04 23:31:53 +01:00
"Privacy URL" : "Privacy URL" ,
"Imprint URL" : "Imprint URL" ,
"Region" : "Region" ,
"Fax" : "Fax" ,
"Back to Login" : "Back to Login" ,
"Back" : "Back" ,
"Access denied" : "Access denied" ,
"You do not have permission to view this content." : "You do not have permission to view this content." ,
"If you believe this is an error, please contact your system administrator." : "If you believe this is an error, please contact your system administrator." ,
"Requested URL" : "Requested URL" ,
"Forward" : "Forward" ,
"Status changed" : "Status changed" ,
"Status changed by" : "Status changed by" ,
"Requested path" : "Requested path" ,
"Page not found" : "Page not found" ,
"The page you requested does not exist or has moved." : "The page you requested does not exist or has moved." ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Back to start" : "Back to start" ,
2026-02-04 23:31:53 +01:00
"Page updated" : "Page updated" ,
"Page can not be updated" : "Page can not be updated" ,
"Content is invalid" : "Content is invalid" ,
"You are not allowed to edit this page" : "You are not allowed to edit this page" ,
"Form expired, please try again" : "Form expired, please try again" ,
"Start writing..." : "Start writing..." ,
"View" : "View" ,
"Heading" : "Heading" ,
"Copy content to" : "Copy content to" ,
"Existing content in the target language will be overwritten" : "Existing content in the target language will be overwritten" ,
"Content copied" : "Content copied" ,
"Target language required" : "Target language required" ,
"Source content not found" : "Source content not found" ,
"Employment" : "Employment" ,
"Job title" : "Job title" ,
"Hire date" : "Hire date" ,
"German" : "German" ,
"English" : "English" ,
"Switch tenant" : "Switch tenant" ,
"Copy" : "Copy" ,
"Registration successful! Please check your email for the verification code." : "Registration successful! Please check your email for the verification code." ,
2026-02-11 19:28:12 +01:00
"Registration is currently disabled" : "Registration is currently disabled." ,
2026-02-04 23:31:53 +01:00
"A new verification code has been sent." : "A new verification code has been sent." ,
"Email already verified. Please login." : "Email already verified. Please login." ,
"If the email exists, a new verification code has been sent." : "If the email exists, a new verification code has been sent." ,
"Email verified successfully! Please login." : "Email verified successfully! Please login." ,
"Too many failed attempts. Please request a new code." : "Too many failed attempts. Please request a new code." ,
"Verify email" : "Verify email" ,
"Enter the verification code we sent to your email to complete your registration." : "Enter the verification code we sent to your email to complete your registration." ,
"Email verified" : "Email verified" ,
"Not verified" : "Not verified" ,
"Verified" : "Verified" ,
"Email settings" : "Email settings" ,
"SMTP host" : "SMTP host" ,
"SMTP port" : "SMTP port" ,
"SMTP user" : "SMTP user" ,
"SMTP password" : "SMTP password" ,
"SMTP security" : "SMTP security" ,
"SMTP from address" : "SMTP from address" ,
"SMTP from name" : "SMTP from name" ,
"Mobile" : "Mobile" ,
"Short dial" : "Short dial" ,
"setting.smtp_host" : "SMTP server host (e.g. smtp.example.com)" ,
"setting.smtp_port" : "SMTP port (e.g. 587)" ,
"setting.smtp_user" : "SMTP username" ,
"setting.smtp_password" : "Leave empty to keep the existing password" ,
"setting.smtp_secure" : "SMTP encryption method" ,
"setting.smtp_from" : "From address for outgoing emails" ,
2026-02-11 19:28:12 +01:00
"setting.smtp_from_name" : "From name for outgoing emails" ,
"High contrast" : "High contrast" ,
"Toggle contrast" : "Toggle contrast" ,
"Organization & Quality" : "Organization & Quality" ,
"Email security" : "Email security" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"API" : "API" ,
"API requests (24h)" : "API requests (24h)" ,
"Request trend vs previous 24h" : "Request trend vs previous 24h" ,
"4xx errors (24h)" : "4xx errors (24h)" ,
"5xx errors (24h)" : "5xx errors (24h)" ,
"P95 response time (ms)" : "P95 response time (ms)" ,
"Tokens expiring in 7 days" : "Tokens expiring in 7 days" ,
"Top API error codes (24h)" : "Top API error codes (24h)" ,
"Slowest API endpoints (avg, 24h)" : "Slowest API endpoints (avg, 24h)" ,
"Import runs (7d)" : "Import runs (7d)" ,
"Run trend vs previous 7d" : "Run trend vs previous 7d" ,
"Created rows (7d)" : "Created rows (7d)" ,
"Failed rows (7d)" : "Failed rows (7d)" ,
"Partial or failed runs (7d)" : "Partial or failed runs (7d)" ,
"Success rate (7d)" : "Success rate (7d)" ,
"Average duration (ms, 7d)" : "Average duration (ms, 7d)" ,
"Recent import runs" : "Recent import runs" ,
"Imports by profile (7d)" : "Imports by profile (7d)" ,
"Top import error codes (7d)" : "Top import error codes (7d)" ,
"Runs" : "Runs" ,
"Created rows" : "Created rows" ,
"Failed rows" : "Failed rows" ,
"Success rate" : "Success rate" ,
"Requests" : "Requests" ,
"Average duration (ms)" : "Average duration (ms)" ,
"Maximum duration (ms)" : "Maximum duration (ms)" ,
2026-02-11 19:28:12 +01:00
"Error" : "Error" ,
"Active tenants" : "Active tenants" ,
"Inactive tenants" : "Inactive tenants" ,
"Active departments" : "Active departments" ,
"Inactive departments" : "Inactive departments" ,
"Active roles" : "Active roles" ,
"Inactive roles" : "Inactive roles" ,
"Roles without permissions" : "Roles without permissions" ,
"Permissions without roles" : "Permissions without roles" ,
"Users without roles" : "Users without roles" ,
"Users without tenants" : "Users without tenants" ,
"Departments without tenants" : "Departments without tenants" ,
"Mail failures" : "Mail failures" ,
"Last email sent" : "Last email sent" ,
"Never" : "Never" ,
"Recent logins" : "Recent logins" ,
"Never logged in" : "Never logged in" ,
"Last login" : "Last login" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Last login via" : "Last login via" ,
"Local" : "Local" ,
"Microsoft" : "Microsoft" ,
"Unknown" : "Unknown" ,
2026-02-11 19:28:12 +01:00
"User" : "User" ,
"No entries found" : "No entries found" ,
"Login status" : "Login status" ,
"Logged in" : "Logged in" ,
"More filters" : "More filters" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Email unverified" : "Email unverified" ,
2026-02-11 19:28:12 +01:00
"Password resets" : "Password resets" ,
2026-03-13 09:49:11 +01:00
"No password reset requests" : "No password reset requests" ,
"No reset has been requested for this account yet." : "No reset has been requested for this account yet." ,
2026-02-11 19:28:12 +01:00
"Requested at" : "Requested at" ,
"Expires at" : "Expires at" ,
"Used at" : "Used at" ,
"Attempts" : "Attempts" ,
"Used" : "Used" ,
"Expired" : "Expired" ,
"Expired by admin" : "Expired by admin" ,
"Login tokens" : "Login tokens" ,
2026-03-13 09:49:11 +01:00
"No login tokens" : "No login tokens" ,
"This user is currently not signed in via remember-me." : "This user is currently not signed in via remember-me." ,
2026-02-11 19:28:12 +01:00
"Expire all login tokens" : "Expire all login tokens" ,
"Expire all login tokens?" : "Expire all login tokens?" ,
"%d active login tokens" : "%d active login tokens" ,
"%d login tokens expired" : "%d login tokens expired" ,
"Danger zone" : "Danger zone" ,
"This will mark all remember-me tokens as expired. Users will need to sign in again." : "This will mark all remember-me tokens as expired. Users will need to sign in again." ,
"Last used" : "Last used" ,
"Keyboard shortcuts" : "Keyboard shortcuts" ,
"Open search" : "Open search" ,
2026-03-04 15:56:58 +01:00
"Save in edit pages" : "Save in edit pages" ,
"Unsaved changes" : "Unsaved changes" ,
"Unsaved change (%d field)" : "Unsaved change (%d field)" ,
"Unsaved changes (%d fields)" : "Unsaved changes (%d fields)" ,
"Please review the following errors" : "Please review the following errors" ,
"You have unsaved changes. Leave without saving?" : "You have unsaved changes. Leave without saving?" ,
2026-02-11 19:28:12 +01:00
"Switch sidebar section" : "Switch sidebar section" ,
"Action" : "Action" ,
"Mac" : "Mac" ,
"Windows" : "Windows" ,
"Email verification code" : "Email verification code" ,
"Failed to switch tenant" : "Failed to switch tenant" ,
"IDs" : "IDs" ,
"Pages" : "Pages" ,
"Permission" : "Permission" ,
2026-03-13 09:49:11 +01:00
"No effective permissions" : "No effective permissions" ,
"Assign at least one role to show effective permissions." : "Assign at least one role to show effective permissions." ,
2026-02-11 19:28:12 +01:00
"Please verify your email first" : "Please verify your email first" ,
"Toggle search details" : "Toggle search details" ,
"Toggle sidebar" : "Toggle sidebar" ,
"Unverified" : "Unverified" ,
"Imprint" : "Imprint" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Privacy" : "Privacy" ,
2026-03-12 14:09:06 +01:00
"Terms of Service" : "Terms of Service" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Custom fields" : "Custom fields" ,
"User custom fields" : "User custom fields" ,
"Affected tenants" : "Affected tenants" ,
"If a tenant appears here, at least one custom field setup needs review (missing options, inactive fields with values, or unused active fields)." : "If a tenant appears here, at least one custom field setup needs review (missing options, inactive fields with values, or unused active fields)." ,
"Issue" : "Issue" ,
"Count" : "Count" ,
"Selection fields without options" : "Selection fields without options" ,
"Tenants with broken selection fields" : "Tenants with broken selection fields" ,
"Inactive custom fields with values" : "Inactive custom fields with values" ,
"Unused active custom fields" : "Unused active custom fields" ,
"Save tenant first to manage custom fields" : "Save tenant first to manage custom fields" ,
"Define custom fields here. They appear per user in the \"Custom fields\" tab and can be maintained there." : "Define custom fields here. They appear per user in the \"Custom fields\" tab and can be maintained there." ,
"Add custom field" : "Add custom field" ,
"The label is shown in user custom fields and in address book filters." : "The label is shown in user custom fields and in address book filters." ,
"The field type controls input and filter behavior." : "The field type controls input and filter behavior." ,
"Field key" : "Field key" ,
"Field type" : "Field type" ,
"Text" : "Text" ,
"Textarea" : "Textarea" ,
"Select" : "Select" ,
"Multiselect" : "Multiselect" ,
"Boolean" : "Boolean" ,
"Date" : "Date" ,
"Sort order" : "Sort order" ,
"Filterable" : "Filterable" ,
"Options (one per line)" : "Options (one per line)" ,
"Example: manager|Manager" : "Example: manager|Manager" ,
"One option per line. Optional format: key|Label." : "One option per line. Optional format: key|Label." ,
"No custom fields configured yet" : "No custom fields configured yet" ,
"Delete custom field" : "Delete custom field" ,
"Custom field saved" : "Custom field saved" ,
"Custom field deleted" : "Custom field deleted" ,
"Custom field can not be created" : "Custom field can not be created" ,
"Custom field can not be updated" : "Custom field can not be updated" ,
"Custom field can not be deleted" : "Custom field can not be deleted" ,
"Custom field values can not be saved" : "Custom field values can not be saved" ,
"Custom field not found" : "Custom field not found" ,
"Label cannot be empty" : "Label cannot be empty" ,
"Field key cannot be empty" : "Field key cannot be empty" ,
"Field type is invalid" : "Field type is invalid" ,
"Field key already exists" : "Field key already exists" ,
"Options are required for this field type" : "Options are required for this field type" ,
"Custom fields update after save" : "Custom fields update after save" ,
"Assign tenants first to edit custom fields" : "Assign tenants first to edit custom fields" ,
"Custom fields for tenant" : "Custom fields for tenant" ,
"No custom fields configured for this tenant" : "No custom fields configured for this tenant" ,
"No custom fields configured for selected tenants" : "No custom fields configured for selected tenants" ,
"Select options" : "Select options" ,
"Please fill required custom field: %s" : "Please fill required custom field: %s" ,
"Invalid value for %s" : "Invalid value for %s" ,
"Please select" : "Please select" ,
"perm.custom_fields.manage" : "Manage tenant custom fields" ,
"perm.custom_fields.edit_values" : "Edit user custom field values" ,
"Label" : "Label" ,
"Required" : "Required" ,
"Required fields must be filled before saving a user." : "Required fields must be filled before saving a user." ,
"Filterable fields are available in address book filters." : "Filterable fields are available in address book filters." ,
"Inactive fields are hidden in forms and filters." : "Inactive fields are hidden in forms and filters." ,
"Default theme is invalid" : "Default theme is invalid" ,
"User theme policy is invalid" : "User theme policy is invalid" ,
"Theme change is disabled for this tenant" : "Theme change is disabled for this tenant" ,
"Inherit global setting" : "Inherit global setting" ,
"Force allow user theme" : "Force allow user theme" ,
"Force disallow user theme" : "Force disallow user theme" ,
"If set, this tenant uses its own default theme instead of the global setting." : "If set, this tenant uses its own default theme instead of the global setting." ,
"Controls whether users in this tenant can choose their own theme." : "Controls whether users in this tenant can choose their own theme." ,
"Tenants can override color and theme behavior in their appearance settings." : "Tenants can override color and theme behavior in their appearance settings." ,
"User theme policy" : "User theme policy" ,
"APP_CRYPTO_KEY is missing or invalid" : "APP_CRYPTO_KEY is missing or invalid" ,
"Allowed email domains" : "Allowed email domains" ,
"App credentials source" : "App credentials source" ,
"Authority URL" : "Authority URL" ,
"Clear override secret" : "Clear override secret" ,
"Client ID override" : "Client ID override" ,
"Client ID override is required" : "Client ID override is required" ,
"Client secret could not be encrypted" : "Client secret could not be encrypted" ,
"Client secret override" : "Client secret override" ,
"Client secret override is required" : "Client secret override is required" ,
"Configure Microsoft login per tenant. Local login can stay enabled or be enforced off." : "Configure Microsoft login per tenant. Local login can stay enabled or be enforced off." ,
"Disable password login for this tenant login" : "Disable password login for this tenant login" ,
"Enable Microsoft login for this tenant" : "Enable Microsoft login for this tenant" ,
"Enforcement" : "Enforcement" ,
"Entra tenant ID (tid)" : "Entra tenant ID (tid)" ,
"Entra tenant ID is invalid" : "Entra tenant ID is invalid" ,
"Login failed" : "Login failed" ,
"Microsoft SSO" : "Microsoft SSO" ,
"Microsoft login" : "Microsoft login" ,
"Microsoft login could not be started" : "Microsoft login could not be started" ,
"Microsoft login failed" : "Microsoft login failed" ,
"Microsoft login is not allowed for this account" : "Microsoft login is not allowed for this account" ,
"Microsoft login is not available for this tenant" : "Microsoft login is not available for this tenant" ,
"Microsoft login is not fully configured for this tenant." : "Microsoft login is not fully configured for this tenant." ,
"Microsoft login was cancelled or failed" : "Microsoft login was cancelled or failed" ,
"Microsoft-only login requires a complete configuration" : "Microsoft-only login requires a complete configuration" ,
"No access to this tenant" : "No access to this tenant" ,
"Shared credentials missing" : "Shared credentials missing" ,
"Optional credential override" : "Optional credential override" ,
"Optional restrictions" : "Optional restrictions" ,
"Optional allow-list, comma or newline separated (example.com)." : "Optional allow-list, comma or newline separated (example.com)." ,
"Password login is disabled for this tenant. Please use Microsoft login." : "Password login is disabled for this tenant. Please use Microsoft login." ,
"Password login is disabled for all assigned tenants" : "Password login is disabled for all assigned tenants" ,
"Password login mode" : "Password login mode" ,
2026-03-12 10:01:24 +01:00
"Local password only" : "Local password only" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Local password + Microsoft" : "Local password + Microsoft" ,
"Credentials source" : "Credentials source" ,
"Shared app" : "Shared app" ,
"Tenant override" : "Tenant override" ,
"SSO configuration status" : "SSO configuration status" ,
"Configuration complete" : "Configuration complete" ,
"Required Microsoft configuration" : "Required Microsoft configuration" ,
"Required for Microsoft login." : "Required for Microsoft login." ,
"SSO" : "SSO" ,
"Shared Microsoft app credentials are used by tenants that enable \"Use shared app credentials\"." : "Shared Microsoft app credentials are used by tenants that enable \"Use shared app credentials\"." ,
"Shared client ID" : "Shared client ID" ,
"Shared client secret" : "Shared client secret" ,
"Sign in with Microsoft" : "Sign in with Microsoft" ,
"Tenant SSO settings could not be saved" : "Tenant SSO settings could not be saved" ,
"Tenant login" : "Tenant login" ,
"Tenant login link is invalid" : "Tenant login link is invalid" ,
"Tenant login URL" : "Tenant login URL" ,
"Tenant Microsoft settings" : "Tenant Microsoft settings" ,
"These settings are required per tenant when Microsoft login is enabled." : "These settings are required per tenant when Microsoft login is enabled." ,
"Profile sync on Microsoft login" : "Profile sync on Microsoft login" ,
"Profile sync (optional)" : "Profile sync (optional)" ,
"Sync fields" : "Sync fields" ,
"Sync first name" : "Sync first name" ,
"Sync last name" : "Sync last name" ,
"Sync phone" : "Sync phone" ,
"Sync mobile" : "Sync mobile" ,
"Sync avatar image" : "Sync avatar image" ,
"User profile fields are global and affect all tenants of this user" : "User profile fields are global and affect all tenants of this user" ,
"Phone/mobile/avatar sync requires Microsoft Graph (User.Read)" : "Phone/mobile/avatar sync requires Microsoft Graph (User.Read)" ,
"Phone/mobile sync requires Microsoft Graph (User.Read)" : "Phone/mobile sync requires Microsoft Graph (User.Read)" ,
"SSO-enabled tenants" : "SSO-enabled tenants" ,
"SSO-enforced tenants" : "SSO-enforced tenants" ,
"SSO rollout" : "SSO rollout" ,
"Users with Microsoft-only login" : "Users with Microsoft-only login" ,
"Microsoft profile sync gaps" : "Microsoft profile sync gaps" ,
"Tenant SSO overview" : "Tenant SSO overview" ,
"Microsoft SSO policy" : "Microsoft SSO policy" ,
"Sync enabled" : "Sync enabled" ,
"Local only" : "Local only" ,
"Microsoft only" : "Microsoft only" ,
"Mixed (local + Microsoft)" : "Mixed (local + Microsoft)" ,
"Missing values" : "Missing values" ,
"Use shared app credentials from settings" : "Use shared app credentials from settings" ,
"Override only if this tenant needs a separate Entra app." : "Override only if this tenant needs a separate Entra app." ,
"Advanced app override" : "Advanced app override" ,
"Use shared app credentials by default. Configure overrides only when this tenant needs a separate app registration." : "Use shared app credentials by default. Configure overrides only when this tenant needs a separate app registration." ,
"Use this URL to enter tenant-scoped login (local and/or Microsoft)." : "Use this URL to enter tenant-scoped login (local and/or Microsoft)." ,
"Used only when shared app credentials are disabled." : "Used only when shared app credentials are disabled." ,
"Uses tenant-specific Entra tenant ID and policy for this login entry." : "Uses tenant-specific Entra tenant ID and policy for this login entry." ,
"When enabled, users must use Microsoft login on the tenant login URL." : "When enabled, users must use Microsoft login on the tenant login URL." ,
"Write-only. Leave empty to keep current secret." : "Write-only. Leave empty to keep current secret." ,
"Client secret override is invalid" : "Client secret override is invalid" ,
"Client credentials are missing" : "Client credentials are missing" ,
"setting.microsoft_shared_client_id" : "Setting key for shared Microsoft client ID" ,
"setting.microsoft_shared_client_secret_enc" : "Setting key for shared Microsoft client secret (encrypted)" ,
"setting.microsoft_authority" : "Base OpenID authority URL for Microsoft login" ,
"API tokens" : "API tokens" ,
"Token name" : "Token name" ,
"Create API token" : "Create API token" ,
"Revoke" : "Revoke" ,
"Revoke this API token?" : "Revoke this API token?" ,
"Revoked" : "Revoked" ,
"Prefix" : "Prefix" ,
"No API tokens" : "No API tokens" ,
2026-03-13 09:49:11 +01:00
"Create a token to enable API access for this user." : "Create a token to enable API access for this user." ,
"No API token has been created for this user yet." : "No API token has been created for this user yet." ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"New API token (copy now — shown only once):" : "New API token (copy now — shown only once):" ,
"API token created. Copy it now — it will not be shown again." : "API token created. Copy it now — it will not be shown again." ,
"Could not create API token: %s" : "Could not create API token: %s" ,
"API token revoked" : "API token revoked" ,
"%d API tokens revoked" : "%d API tokens revoked" ,
"%d active API tokens" : "%d active API tokens" ,
"Revoke all API tokens" : "Revoke all API tokens" ,
"Revoke all API tokens?" : "Revoke all API tokens?" ,
"All API tokens will be revoked immediately." : "All API tokens will be revoked immediately." ,
"API token default lifetime is invalid" : "API token default lifetime is invalid" ,
"API token max lifetime is invalid" : "API token max lifetime is invalid" ,
2026-03-26 15:09:55 +01:00
"nav.logs.mail" : "E-mail" ,
"nav.audit.api" : "API" ,
"nav.audit.system" : "System" ,
"nav.audit.imports" : "Imports" ,
"nav.audit.user_lifecycle" : "User lifecycle" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"API audit" : "API logs" ,
"API audit logs" : "API logs" ,
"Request ID" : "Request ID" ,
"Method" : "Method" ,
"Path" : "Path" ,
"Status code" : "Status code" ,
"Duration (ms)" : "Duration (ms)" ,
"Error code" : "Error code" ,
"Token ID" : "Token ID" ,
"Token tenant" : "Token tenant" ,
"Purge API audit logs" : "Purge API logs" ,
"Purge entries older than 90 days?" : "Purge entries older than 90 days?" ,
"%d API audit entries purged" : "%d API log entries purged" ,
"API audit entry not found" : "API log entry not found" ,
"View API audit entry" : "View API log entry" ,
"Request details" : "Request details" ,
"Scope" : "Scope" ,
"Query" : "Query" ,
"User agent" : "User agent" ,
"All methods" : "All methods" ,
"Tenant ID" : "Tenant ID" ,
"User ID" : "User ID" ,
"IP" : "IP" ,
"CORS allowed origins are invalid" : "CORS allowed origins are invalid" ,
"Token name is required" : "Token name is required" ,
"e.g. CI Pipeline" : "e.g. CI Pipeline" ,
"Imports" : "Imports" ,
"Upload CSV data, map columns, preview and import." : "Upload CSV data, map columns, preview and import." ,
"You do not have permission to run imports." : "You do not have permission to run imports." ,
"Entity" : "Entity" ,
"CSV file" : "CSV file" ,
"Max size 10MB, max 20000 rows" : "Max size 10MB, max 20000 rows" ,
"Download sample CSV" : "Download sample CSV" ,
"Analyze file" : "Analyze file" ,
"Map CSV columns" : "Map CSV columns" ,
"Required fields: first_name, last_name, email" : "Required fields: first_name, last_name, email" ,
"CSV header" : "CSV header" ,
"Target field" : "Target field" ,
"Ignore column" : "Ignore column" ,
"Assignment columns require additional permission." : "Assignment columns require additional permission." ,
"Run preview" : "Run preview" ,
"Preview" : "Preview" ,
"Rows total" : "Rows total" ,
"Valid rows" : "Valid rows" ,
"Would create" : "Would create" ,
"Would skip" : "Would skip" ,
"Would fail" : "Would fail" ,
"Row issues" : "Row issues" ,
"Start import" : "Start import" ,
"Import finished" : "Import finished" ,
"Processed" : "Processed" ,
"Skipped" : "Skipped" ,
"Import another file" : "Import another file" ,
"No row errors found" : "No row errors found" ,
"Row" : "Row" ,
"Message" : "Message" ,
"No upload file provided" : "No upload file provided" ,
"Upload exceeds the maximum size" : "Upload exceeds the maximum size" ,
"Invalid file type" : "Invalid file type" ,
"CSV header is invalid" : "CSV header is invalid" ,
"CSV file has no data rows" : "CSV file has no data rows" ,
"CSV row limit exceeded" : "CSV row limit exceeded" ,
"Required mapping is missing" : "Required mapping is missing" ,
"Assignment import permission is required" : "Assignment import permission is required" ,
"Email is invalid" : "Email is invalid" ,
"Email appears multiple times in this file" : "Email appears multiple times in this file" ,
"Email already exists" : "Email already exists" ,
"Locale is invalid" : "Locale is invalid" ,
"Active value is invalid" : "Active value is invalid" ,
"Hire date must be YYYY-MM-DD" : "Hire date must be YYYY-MM-DD" ,
"Tenant is missing, inactive or invalid" : "Tenant is missing, inactive or invalid" ,
"Role is missing, inactive or invalid" : "Role is missing, inactive or invalid" ,
"Department is missing, inactive or invalid" : "Department is missing, inactive or invalid" ,
"Department does not belong to tenant" : "Department does not belong to tenant" ,
"Tenant assignment is out of your scope" : "Tenant assignment is out of your scope" ,
"User could not be created" : "User could not be created" ,
"Unexpected error during import" : "Unexpected error during import" ,
"Required field is empty: first_name" : "Required field is empty: first_name" ,
"Required field is empty: last_name" : "Required field is empty: last_name" ,
"User assignments can not be updated" : "User assignments can not be updated" ,
"How the import works" : "How the import works" ,
"1. Upload CSV and click analyze" : "1. Upload CSV and click analyze" ,
"2. Map your CSV columns to system fields" : "2. Map your CSV columns to system fields" ,
"3. Review preview counters and row errors" : "3. Review preview counters and row errors" ,
"4. Start import for valid rows" : "4. Start import for valid rows" ,
"Rules" : "Rules" ,
"Create-only: existing emails are skipped" : "Create-only: existing emails are skipped" ,
"Create-only: existing entries are skipped" : "Create-only: existing entries are skipped" ,
"Here is a CSV template for this import profile." : "Here is a CSV template for this import profile." ,
"Reference" : "Reference" ,
"Required fields" : "Required fields" ,
"Required field is empty: description" : "Required field is empty: description" ,
"Tenant must be a valid UUID" : "Tenant must be a valid UUID" ,
"Code already exists" : "Code already exists" ,
"Department already exists for this tenant" : "Department already exists for this tenant" ,
"Duplicate entry in CSV file" : "Duplicate entry in CSV file" ,
"Entry could not be created" : "Entry could not be created" ,
"Import logs" : "Import logs" ,
"Import audit logs" : "Import audit logs" ,
"Can view import audit logs" : "Can view import audit logs" ,
"Run UUID" : "Run UUID" ,
"Mapped fields" : "Mapped fields" ,
"Created count" : "Created count" ,
"Skipped count" : "Skipped count" ,
"Failed count" : "Failed count" ,
"Purge import logs" : "Purge import logs" ,
"%d import audit entries purged" : "%d import audit entries purged" ,
"Import audit entry not found" : "Import audit entry not found" ,
"View import audit entry" : "View import audit entry" ,
"Import details" : "Import details" ,
"Started" : "Started" ,
"Finished" : "Finished" ,
"File" : "File" ,
"Current tenant" : "Current tenant" ,
"Error code distribution" : "Error code distribution" ,
"All profiles" : "All profiles" ,
"Running" : "Running" ,
"Success" : "Success" ,
"Partial" : "Partial" ,
"Import" : "Import" ,
"Counters" : "Counters" ,
"User lifecycle policy" : "User lifecycle policy" ,
2026-03-09 20:07:55 +01:00
"Session policy" : "Session policy" ,
2026-03-09 21:57:52 +01:00
"Registration controls whether new users can create an account." : "Registration controls whether new users can create an account." ,
2026-03-09 20:47:21 +01:00
"Session limits define how long logged-in users stay signed in." : "Set idle and absolute limits for active sessions." ,
2026-03-09 20:07:55 +01:00
"Absolute timeout signs users out after total session duration, even with activity." : "Absolute timeout signs users out after total session duration, even with activity." ,
2026-03-09 21:57:52 +01:00
"User lifecycle defines when inactive users are deactivated or deleted." : "User lifecycle defines when inactive users are deactivated or deleted." ,
"System audit controls whether security events are logged and how long they are kept." : "System audit controls whether security events are logged and how long they are kept." ,
2026-03-09 20:07:55 +01:00
"Session idle timeout (minutes)" : "Session idle timeout (minutes)" ,
"Session absolute timeout (hours)" : "Session absolute timeout (hours)" ,
"Allowed range: 5-1440 minutes (default: 30)" : "Allowed range: 5-1440 minutes (default: 30)" ,
"Allowed range: 1-72 hours (default: 8)" : "Allowed range: 1-72 hours (default: 8)" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Deactivate users after inactivity (days)" : "Deactivate users after inactivity (days)" ,
"Delete inactive users after (days)" : "Delete inactive users after (days)" ,
"0 disables this rule" : "0 disables this rule" ,
"Deletion starts after user was set inactive" : "Deletion starts after user was set inactive" ,
"Privileged admins are excluded from automatic lifecycle actions" : "Privileged admins are excluded from automatic lifecycle actions" ,
"Run user lifecycle now?" : "Run user lifecycle now?" ,
"Run user lifecycle now" : "Run user lifecycle now" ,
"setting.user_inactivity_deactivate_days" : "Automatically set users inactive after this many days without login" ,
"setting.user_inactivity_delete_days" : "Automatically delete inactive users after this many additional days" ,
2026-03-09 20:07:55 +01:00
"setting.session_idle_timeout_minutes" : "Maximum idle time in minutes before users are signed out (default: 30)" ,
"setting.session_absolute_timeout_hours" : "Maximum total session duration in hours before users are signed out (default: 8)" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"User lifecycle already running" : "User lifecycle already running" ,
"User lifecycle failed" : "User lifecycle failed" ,
"User lifecycle completed: %d deactivated, %d deleted" : "User lifecycle completed: %d deactivated, %d deleted" ,
"User inactivity deactivation period is invalid" : "User inactivity deactivation period is invalid" ,
"User inactivity deletion period is invalid" : "User inactivity deletion period is invalid" ,
2026-03-09 20:07:55 +01:00
"Session idle timeout is invalid" : "Session idle timeout is invalid" ,
"Session absolute timeout is invalid" : "Session absolute timeout is invalid" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Auto-delete is ignored while auto-deactivate is disabled" : "Auto-delete is ignored while auto-deactivate is disabled" ,
"Scheduled jobs" : "Scheduled jobs" ,
"Can view scheduled jobs" : "Can view scheduled jobs" ,
"Can manage scheduled jobs" : "Can manage scheduled jobs" ,
"Can run scheduled jobs manually" : "Can run scheduled jobs manually" ,
"Scheduled job not found" : "Scheduled job not found" ,
"Scheduled job is not registered" : "Scheduled job is not registered" ,
"Scheduled job could not be saved" : "Scheduled job could not be saved" ,
"Scheduled job saved" : "Scheduled job saved" ,
"Edit scheduled job" : "Edit scheduled job" ,
2026-03-22 22:28:19 +01:00
"View scheduled job" : "View scheduled job" ,
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
"Job" : "Job" ,
"Job key" : "Job key" ,
"Run history" : "Run history" ,
"Run now" : "Run now" ,
"Runtime status" : "Runtime status" ,
"Next run" : "Next run" ,
"Last run" : "Last run" ,
"Last error" : "Last error" ,
"Schedule" : "Schedule" ,
"Schedule type" : "Schedule type" ,
"Schedule interval" : "Schedule interval" ,
"Schedule time" : "Schedule time" ,
"Weekdays" : "Weekdays" ,
"Hourly" : "Hourly" ,
"Daily" : "Daily" ,
"Weekly" : "Weekly" ,
"Enabled" : "Enabled" ,
"Disabled" : "Disabled" ,
"Timezone" : "Timezone" ,
"Catch up once" : "Catch up once" ,
"Scheduler" : "Scheduler" ,
"Every %d hour(s)" : "Every %d hour(s)" ,
"Every %d day(s) at %s" : "Every %d day(s) at %s" ,
"Every %d week(s) on %s at %s" : "Every %d week(s) on %s at %s" ,
"No weekdays" : "No weekdays" ,
"Mon" : "Mon" ,
"Tue" : "Tue" ,
"Wed" : "Wed" ,
"Thu" : "Thu" ,
"Fri" : "Fri" ,
"Sat" : "Sat" ,
"Sun" : "Sun" ,
"Schedule type is invalid" : "Schedule type is invalid" ,
"Schedule time is required" : "Schedule time is required" ,
"Timezone is invalid" : "Timezone is invalid" ,
"Hourly interval must be between 1 and 24" : "Hourly interval must be between 1 and 24" ,
"Daily interval must be between 1 and 365" : "Daily interval must be between 1 and 365" ,
"Weekly interval must be between 1 and 52" : "Weekly interval must be between 1 and 52" ,
"At least one weekday is required for weekly schedule" : "At least one weekday is required for weekly schedule" ,
"Scheduled job run completed" : "Scheduled job run completed" ,
"Scheduled job run skipped" : "Scheduled job run skipped" ,
"Scheduled job run failed" : "Scheduled job run failed" ,
"Scheduler is already running" : "Scheduler is already running" ,
"Purge scheduler logs" : "Purge scheduler logs" ,
"Purge run logs older than 90 days?" : "Purge run logs older than 90 days?" ,
"%d scheduler run logs purged" : "%d scheduler run logs purged" ,
"User lifecycle logs" : "User lifecycle logs" ,
"View user lifecycle audit entry" : "View user lifecycle audit entry" ,
"Lifecycle audit entry not found" : "Lifecycle audit entry not found" ,
"Purge user lifecycle logs" : "Purge user lifecycle logs" ,
"Purge entries older than 365 days?" : "Purge entries older than 365 days?" ,
"%d user lifecycle audit entries purged" : "%d user lifecycle audit entries purged" ,
"Lifecycle event" : "Lifecycle event" ,
"Trigger" : "Trigger" ,
"Reason code" : "Reason code" ,
"Target" : "Target" ,
"Target UUID" : "Target UUID" ,
"Target email" : "Target email" ,
"Policy" : "Policy" ,
"Snapshot summary" : "Snapshot summary" ,
"Snapshot version" : "Snapshot version" ,
"Restore status" : "Restore status" ,
"Restored at" : "Restored at" ,
"Restored by" : "Restored by" ,
"Restored user" : "Restored user" ,
"Restore user" : "Restore user" ,
"Restore" : "Restore" ,
"Restore this user from lifecycle snapshot?" : "Restore this user from lifecycle snapshot?" ,
"User restored" : "User restored" ,
"User restore failed" : "User restore failed" ,
"Lifecycle event was already restored" : "Lifecycle event was already restored" ,
"Lifecycle snapshot unavailable" : "Lifecycle snapshot unavailable" ,
"Restore not possible: email already exists" : "Restore not possible: email already exists" ,
"Restore not possible: uuid already exists" : "Restore not possible: uuid already exists" ,
"All actions" : "All actions" ,
"All triggers" : "All triggers" ,
"Manual" : "Manual" ,
"Cron" : "Cron" ,
"Enabled jobs" : "Enabled jobs" ,
"Overdue jobs" : "Overdue jobs" ,
"Scheduler runs (24h)" : "Scheduler runs (24h)" ,
"Failed scheduler runs (24h)" : "Failed scheduler runs (24h)" ,
"Cron runner active" : "Cron runner active" ,
"Last heartbeat" : "Last heartbeat" ,
"Last runner result" : "Last runner result" ,
"Runner lock not acquired" : "Runner lock not acquired" ,
2026-03-04 15:56:58 +01:00
"Locale" : "Locale" ,
"Learning path" : "Learning path" ,
"Concepts" : "Concepts" ,
"How-to guides" : "How-to guides" ,
"Contributor guide" : "Contributor guide" ,
"System audit" : "System audit" ,
"System audit logs" : "System audit logs" ,
"View system audit entry" : "View system audit entry" ,
"System audit entry not found" : "System audit entry not found" ,
"Enable system audit log" : "Enable system audit log" ,
"Purge system audit logs" : "Purge system audit logs" ,
"Purge expired system audit entries?" : "Purge expired system audit entries?" ,
"%d system audit entries purged" : "%d system audit entries purged" ,
"All outcomes" : "All outcomes" ,
"All channels" : "All channels" ,
"Event type" : "Event type" ,
"Outcome" : "Outcome" ,
"Actor" : "Actor" ,
"Actor tenant" : "Actor tenant" ,
"Event details" : "Event details" ,
"Target type" : "Target type" ,
"IP hash" : "IP hash" ,
"User agent hash" : "User agent hash" ,
"Channel" : "Channel" ,
"Denied" : "Denied" ,
"Event" : "Event" ,
"Metadata" : "Metadata" ,
"Actor user ID" : "Actor user ID" ,
"Select users" : "Select users" ,
"Select actions" : "Select actions" ,
"Select statuses" : "Select statuses" ,
"Select triggers" : "Select triggers" ,
"Tenant #%d" : "Tenant #%d" ,
"Tenant #%d (deleted)" : "Tenant #%d (deleted)" ,
"Select event types" : "Select event types" ,
"Select actor users" : "Select actor users" ,
"User #%d" : "User #%d" ,
"User #%d (deleted)" : "User #%d (deleted)" ,
"Retention (days)" : "Retention (days)" ,
2026-03-06 00:44:52 +01:00
"Frontend telemetry" : "Frontend telemetry" ,
"Enable frontend telemetry" : "Enable frontend telemetry" ,
"Sampling rate" : "Sampling rate" ,
"Sampling rate (0-1)" : "Sampling rate (0-1)" ,
"Allowed telemetry events" : "Allowed telemetry events" ,
"warnOnce warnings" : "warnOnce warnings" ,
"AJAX errors" : "AJAX errors" ,
"Telemetry" : "Telemetry" ,
"Telemetry helps us find UI problems faster." : "Telemetry helps us find UI problems faster." ,
"No sensitive data is stored." : "No sensitive data is stored." ,
"Sampling rate defines how many events are saved." : "Sampling rate defines how many events are saved." ,
"The percentage of users who will have telemetry enabled." : "The percentage of users who will have telemetry enabled." ,
"Example: 0.2 means about 2 of 10 events." : "Example: 0.2 means about 2 of 10 events." ,
"Advanced telemetry options" : "Advanced telemetry options" ,
"Only change these options if needed." : "Only change these options if needed." ,
2026-03-04 15:56:58 +01:00
"setting.system_audit_enabled" : "Enable/disable system audit logging" ,
"setting.system_audit_retention_days" : "Retention in days for system audit entries" ,
2026-03-06 00:44:52 +01:00
"setting.frontend_telemetry_enabled" : "Enable/disable secure frontend UX and error telemetry" ,
"setting.frontend_telemetry_sample_rate" : "Sampling rate between 0 and 1 for accepted frontend telemetry events" ,
"setting.frontend_telemetry_allowed_events" : "Allowed frontend telemetry event groups (warn_once, ajax_error)" ,
2026-03-04 15:56:58 +01:00
"System audit events (24h)" : "System audit events (24h)" ,
"System audit risks (24h)" : "System audit risks (24h)" ,
"Failed outcomes (24h)" : "Failed outcomes (24h)" ,
"Denied outcomes (24h)" : "Denied outcomes (24h)" ,
"Trend vs previous 24h" : "Trend vs previous 24h" ,
"Top system audit event types (24h)" : "Top system audit event types (24h)" ,
"Failed or denied" : "Failed or denied" ,
"Recent system audit risks (24h)" : "Recent system audit risks (24h)" ,
"User lifecycle audit" : "User lifecycle audit" ,
"Lifecycle runs (7d)" : "Lifecycle runs (7d)" ,
"Lifecycle risks (7d)" : "Lifecycle risks (7d)" ,
"Failed runs (7d)" : "Failed runs (7d)" ,
"Skipped runs (7d)" : "Skipped runs (7d)" ,
"Restore actions (7d)" : "Restore actions (7d)" ,
"Trend vs previous 7d" : "Trend vs previous 7d" ,
"Top lifecycle reason codes (7d)" : "Top lifecycle reason codes (7d)" ,
2026-03-07 21:21:47 +01:00
"Recent lifecycle risks (7d)" : "Recent lifecycle risks (7d)" ,
2026-03-09 19:16:26 +01:00
"Login progress" : "Login progress" ,
2026-03-09 20:47:21 +01:00
"Your session has expired. Please log in again." : "Your session timed out. Please sign in again. If you chose Remember me, sign-in can happen automatically." ,
2026-03-09 19:16:26 +01:00
"Failed to update role permissions" : "Failed to update role permissions" ,
2026-03-10 22:48:10 +01:00
"Failed to update permission roles" : "Failed to update permission roles" ,
"Login persistence" : "Login persistence" ,
"Controls remember-me token lifetime and Microsoft auto-remember behavior." : "Controls remember-me token lifetime and Microsoft auto-remember behavior." ,
"Remember token lifetime (days)" : "Remember token lifetime (days)" ,
"Allowed range: 1-365 days (default: 30)" : "Allowed range: 1-365 days (default: 30)" ,
"Microsoft Auto-Remember default" : "Microsoft Auto-Remember default" ,
"When enabled, successful Microsoft logins automatically persist a remember-me token (unless overridden per tenant)." : "When enabled, successful Microsoft logins automatically persist a remember-me token (unless overridden per tenant)." ,
"Microsoft Auto-Remember" : "Microsoft Auto-Remember" ,
"Inherit global default" : "Inherit global default" ,
"Force on" : "Force on" ,
"Force off" : "Force off" ,
"Controls whether Microsoft logins automatically persist a remember-me token." : "Controls whether Microsoft logins automatically persist a remember-me token." ,
2026-03-12 14:09:06 +01:00
"Complete" : "Complete" ,
"Incomplete" : "Incomplete" ,
"No domain restrictions" : "No domain restrictions" ,
"Configuration status" : "Configuration status" ,
"SSO setup is incomplete" : "SSO setup is incomplete" ,
"Complete the required Microsoft configuration before enforcing Microsoft-only login." : "Complete the required Microsoft configuration before enforcing Microsoft-only login." ,
"Login policy" : "Login policy" ,
"Allow Microsoft-only login (disable local password login)" : "Allow Microsoft-only login (disable local password login)" ,
"Remember login after Microsoft sign-in" : "Remember login after Microsoft sign-in" ,
"Access and profile sync" : "Access and profile sync" ,
"Profile sync" : "Profile sync" ,
"App credentials (advanced)" : "App credentials (advanced)" ,
2026-03-13 14:28:49 +01:00
"Remember token lifetime is invalid" : "Remember token lifetime is invalid" ,
"Session expiring" : "Session expiring" ,
"Your session will expire in {countdown}. Would you like to continue?" : "Your session will expire in {countdown}. Would you like to continue?" ,
"Extend session" : "Extend session" ,
feat: add read-only System Info admin page with health checks and module inventory
New page at /admin/system-info with three tabs:
- Overview: PHP version, SAPI, environment, 6 health checks (DB, schema,
storage, RBAC baseline, admin role, scheduler heartbeat)
- Modules: table of active modules with version, dependencies, permission count
- Permissions: active/inactive counts and per-source breakdown
Gated behind new system_info.view permission assigned to Admin role.
No mutations — purely diagnostic/observability.
Includes SystemHealthService, SystemInfoService, SystemHealthRepository
with interface, DI registration, i18n keys (de+en), idempotent DB update
script, and 17 new PHPUnit tests.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 15:08:02 +01:00
"Log out" : "Log out" ,
"System Info" : "System Info" ,
"Health Status" : "Health Status" ,
"Check" : "Check" ,
"Details" : "Details" ,
"PHP version" : "PHP version" ,
"PHP SAPI" : "PHP SAPI" ,
"Active modules" : "Active modules" ,
"No modules active." : "No modules active." ,
"Module" : "Module" ,
"Default" : "Default" ,
"Dependencies" : "Dependencies" ,
"Permission summary" : "Permission summary" ,
"Active permissions" : "Active permissions" ,
"Inactive (orphaned) permissions" : "Inactive (orphaned) permissions" ,
"Permissions by source" : "Permissions by source" ,
"Source" : "Source" ,
"Count" : "Count" ,
"No health checks available." : "No health checks available." ,
"Warning" : "Warning" ,
"Fail" : "Fail" ,
"Environment" : "Environment" ,
"Modules" : "Modules" ,
2026-03-24 14:51:40 +01:00
"Version" : "Version" ,
2026-03-25 07:26:04 +01:00
"Breadcrumb" : "Breadcrumb" ,
"LDAP Authentication" : "LDAP Authentication" ,
"LDAP Username" : "LDAP Username" ,
"Sign in with LDAP" : "Sign in with LDAP" ,
"LDAP login is not available for this tenant." : "LDAP login is not available for this tenant." ,
"Your email domain is not allowed for LDAP login on this tenant." : "Your email domain is not allowed for LDAP login on this tenant." ,
"LDAP server is not reachable. Please try again later." : "LDAP server is not reachable. Please try again later." ,
"Your LDAP account does not have an email address configured." : "Your LDAP account does not have an email address configured." ,
"LDAP host is required" : "LDAP host is required" ,
"LDAP base DN is required" : "LDAP base DN is required" ,
"LDAP port must be between 1 and 65535" : "LDAP port must be between 1 and 65535" ,
"Search filter must contain %s placeholder" : "Search filter must contain %s placeholder" ,
"LDAP-only login requires a complete configuration" : "LDAP-only login requires a complete configuration" ,
"Direct bind method requires a username format" : "Direct bind method requires a username format" ,
"Bind DN could not be encrypted" : "Bind DN could not be encrypted" ,
"Bind password could not be encrypted" : "Bind password could not be encrypted" ,
"Tenant LDAP settings could not be saved" : "Tenant LDAP settings could not be saved" ,
"Bind DN could not be decrypted" : "Bind DN could not be decrypted" ,
"Bind password could not be decrypted" : "Bind password could not be decrypted" ,
"LDAP login" : "LDAP login" ,
"LDAP setup is incomplete" : "LDAP setup is incomplete" ,
"LDAP connection settings" : "LDAP connection settings" ,
"Enable LDAP login for this tenant" : "Enable LDAP login for this tenant" ,
"LDAP Host" : "LDAP Host" ,
"Encryption" : "Encryption" ,
"None (not recommended)" : "None (not recommended)" ,
"Verify TLS certificate" : "Verify TLS certificate" ,
"Base DN" : "Base DN" ,
"Bind DN (service account)" : "Bind DN (service account)" ,
"Bind password" : "Bind password" ,
"Clear bind password" : "Clear bind password" ,
"Test connection" : "Test connection" ,
"Search and bind settings" : "Search and bind settings" ,
"Bind method" : "Bind method" ,
"Search then bind (recommended)" : "Search then bind (recommended)" ,
"Direct bind" : "Direct bind" ,
"User search filter" : "User search filter" ,
"Search scope" : "Search scope" ,
"Subtree (recursive)" : "Subtree (recursive)" ,
"One level" : "One level" ,
"Network timeout (seconds)" : "Network timeout (seconds)" ,
"Direct bind username format" : "Direct bind username format" ,
"Unique ID attribute" : "Unique ID attribute" ,
"Attribute mapping and sync" : "Attribute mapping and sync" ,
"Map application fields to LDAP directory attributes." : "Map application fields to LDAP directory attributes." ,
"Profile sync on LDAP login" : "Profile sync on LDAP login" ,
"Allow LDAP-only login (disable local password login)" : "Allow LDAP-only login (disable local password login)" ,
"Sync email" : "Sync email" ,
"AD: objectGUID, OpenLDAP: entryUUID, FreeIPA: ipaUniqueID" : "AD: objectGUID, OpenLDAP: entryUUID, FreeIPA: ipaUniqueID" ,
"Login could not be completed. Please contact your administrator." : "Login could not be completed. Please contact your administrator." ,
"Only for direct bind. Use %s as placeholder. Example: %s@corp.example.com or uid=%s,ou=People,dc=example,dc=com" : "Only for direct bind. Use %s as placeholder. Example: %s@corp.example.com or uid=%s,ou=People,dc=example,dc=com" ,
"Optional allow-list, comma or newline separated." : "Optional allow-list, comma or newline separated." ,
"Please enter your username and password." : "Please enter your username and password." ,
"Port" : "Port" ,
"Search-then-bind uses a service account to find the user DN first, then binds with the user credentials." : "Search-then-bind uses a service account to find the user DN first, then binds with the user credentials." ,
"Use %s as placeholder for the username. Examples: (&(objectClass=user)(sAMAccountName=%s)) for AD, (&(objectClass=inetOrgPerson)(uid=%s)) for OpenLDAP" : "Use %s as placeholder for the username. Examples: (&(objectClass=user)(sAMAccountName=%s)) for AD, (&(objectClass=inetOrgPerson)(uid=%s)) for OpenLDAP" ,
"Username or password not valid" : "Username or password not valid" ,
"Write-only. Leave empty to keep current value." : "Write-only. Leave empty to keep current value." ,
2026-03-25 07:48:13 +01:00
"Your account is deactivated." : "Your account is deactivated." ,
"LDAP" : "LDAP"
2026-02-04 23:31:53 +01:00
}