Files
breadcrumb-the-shire/i18n/default_en.json
fs 149d4515de refactor(settings): remove global appearance settings — tenant is sole source
Removes the global app_theme, app_theme_user and app_primary_color settings
from the admin/settings area and the underlying service/cache/API/i18n/docs
layers. The tenant columns (tenants.primary_color, default_theme,
allow_user_theme) become the single source of truth for appearance.
Branding helpers are tenant-only and fall back to a hardcoded 'light' theme
with no brand color when no tenant context is available (login, error,
pre-session pages). The APP_THEME env var is removed.

Scope:
- UI: Appearance tab gone from /admin/settings; tenant edit form drops the
  global-fallback color preview.
- Service: SettingsAppGateway no longer exposes setting-backed accessors
  for theme/user-theme/primary-color. Theme catalog utilities (listThemes,
  isAllowedTheme, normalizeTheme, resolveDefaultTheme) stay and are used
  across Tenant / Auth / User flows; resolveDefaultTheme now hardcodes
  'light' with a catalog fallback (no global/env lookup).
- AdminSettingsService: buildPageData, sanitization, audit snapshot, apply
  step and cache payload are all stripped of the three keys. Dead helper
  applyAppPrimaryColor + normalizePrimaryColor removed.
- Cache: SettingCacheService HOT_PATH_KEYS drops the three keys.
- API: /settings (GET/PUT) and /settings/public (GET) no longer expose
  appearance fields; OpenAPI schemas pruned accordingly.
- Audit redaction list shortened.
- DB: db/init/init.sql seed rows removed. No migration for existing
  installs — legacy rows stay inert.
- i18n + docs: setting.app_theme, setting.app_theme_user,
  setting.app_primary_color removed from de+en locales; reference and
  explanation docs updated.
- Tests: covering tests for the removed methods pruned; ThemeResolutionTest
  rewritten for tenant-only semantics. One unrelated PHP-CS-Fixer issue in
  UserRegistrar.php cleaned up to keep QG-006 green.

Workflow: .agents/runs/SETTINGS-APPEARANCE-TENANT-ONLY/ (gitignored).
Gates: QG-001..003, QG-006, QG-008 all pass (1985 tests, 28764 assertions).
Reviews: code, security, acceptance all pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 22:40:15 +02:00

1281 lines
67 KiB
JSON

{
"Login": "Login",
"Login credentials": "Login credentials",
"Login provider": "Login provider",
"Open full page": "Open full page",
"Loading": "Loading",
"Failed to load": "Failed to load",
"Register": "Register",
"Password": "Password",
"Or": "Or",
"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",
"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)",
"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",
"Profile can not be updated": "Profile can not be updated",
"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",
"Continue": "Continue",
"Show password": "Show password",
"Hide password": "Hide password",
"Use different email": "Use different email",
"Back to login": "Back to login",
"Encrypted connection": "Encrypted",
"HTTPS/TLS 1.2+ in transit": "HTTPS/TLS 1.2+ in transit",
"Problems logging in": "Problems logging in",
"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",
"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",
"%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 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 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.",
"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.",
"Create your account": "Create your account",
"First name": "First name",
"Name": "Name",
"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",
"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",
"Master data": "Master data",
"Organization": "Organization",
"Roles & permissions": "Roles & permissions",
"Permissions": "Permissions",
"Permission key": "Permission key",
"Create permission": "Create permission",
"Edit permission": "Edit permission",
"View permission": "View permission",
"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",
"No permissions available": "No permissions available",
"No active permissions are configured yet.": "No active permissions are configured yet.",
"No active roles are configured yet.": "No active roles are configured yet.",
"Permission denied": "Permission denied",
"No active tenant assigned": "No active tenant assigned",
"Please select at least one tenant": "Please select at least one tenant",
"perm.users.view": "View users",
"perm.users.create": "Create users",
"perm.users.update": "Update users",
"perm.users.access_pdf": "Generate onboarding PDFs",
"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",
"perm.roles.assign_all": "Assign all roles",
"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",
"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",
"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",
"Home": "Home",
"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",
"Users": "Users",
"Avatar": "Avatar",
"Theme": "Theme",
"Light": "Light",
"Dark": "Dark",
"Dark green": "Dark green",
"Main menu": "Main menu",
"Toggle Sidebar": "Toggle Sidebar",
"Toggle Detail Sidebar": "Toggle Detail Sidebar",
"%d selected": "%d selected",
"Create user": "Create user",
"Edit user": "Edit user",
"View user": "View user",
"Create": "Create",
"Create & close": "Create & close",
"Save": "Save",
"Save & close": "Save & close",
"Cancel": "Cancel",
"Close": "Close",
"Confirm": "Confirm",
"Please confirm": "Please confirm",
"This action cannot be undone.": "This action cannot be undone.",
"Active": "Active",
"Actions": "Actions",
"ID": "ID",
"Created": "Created",
"Created by": "Created by",
"Modified by": "Modified by",
"Modified": "Modified",
"Open": "Open",
"Press Enter to open row": "Press Enter to open row",
"Retry": "Retry",
"Yes": "Yes",
"No": "No",
"User created": "User created",
"User updated": "User updated",
"User deleted": "User deleted",
"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",
"New password (optional)": "New password (optional)",
"Account is inactive": "Account is inactive",
"Inactive": "Inactive",
"Filter": "Filter",
"Apply filters": "Apply filters",
"Clear all filters": "Clear all filters",
"Close filters": "Close filters",
"Remove filter": "Remove filter",
"Filters applied": "Filters applied",
"Filter removed": "Filter removed",
"All filters cleared": "All filters cleared",
"UUID": "UUID",
"Profile image": "Profile image",
"Profile": "Profile",
"Profile description": "Profile description",
"Search results": "Search results",
"Result": "Result",
"Type": "Type",
"Page": "Page",
"Upload image": "Upload image",
"App logo": "App logo",
"Upload logo": "Upload 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",
"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).",
"Primary color": "Primary color",
"Primary color is invalid": "Primary color is invalid",
"The primary color affects buttons and accent elements across the app.": "The primary color affects buttons and accent elements across the app.",
"Export CSV": "Export CSV",
"Export": "Export",
"Export as CSV": "Export as CSV",
"Export for Excel": "Export for Excel",
"State": "State",
"Edit": "Edit",
"Status": "Status",
"Visibility": "Visibility",
"Inactive entries are hidden in lists and selections.": "Inactive entries are hidden in lists and selections.",
"All": "All",
"Explorer": "Explorer",
"Search": "Search",
"Search...": "Search...",
"Search users, tenants, pages...": "Search users, tenants, pages...",
"Users, tenants, departments, roles and more": "Users, tenants, departments, roles and more",
"Searching...": "Searching...",
"Search failed. Please try again.": "Search failed. Please try again.",
"No results found": "No results found",
"View all results": "View all results",
"navigate": "navigate",
"open": "open",
"close": "close",
"Created from": "Created from",
"Created to": "Created to",
"Settings": "Settings",
"Documentation": "Documentation",
"Documentation navigation": "Documentation navigation",
"On this page": "On this page",
"Getting started": "Getting started",
"Architecture & rules": "Architecture & rules",
"Frontend": "Frontend",
"Features": "Features",
"API reference": "API reference",
"Operations": "Operations",
"Automation & integrations": "Automation & integrations",
"Logs": "Logs",
"System": "System",
"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.",
"Statistics": "Statistics",
"Active users": "Active users",
"Inactive users": "Inactive users",
"Sent emails": "Sent emails",
"Primary navigation": "Primary navigation",
"Footer navigation": "Footer navigation",
"Language switcher": "Language switcher",
"Sort column ascending": "Sort column ascending",
"Sort column descending": "Sort column descending",
"Previous": "Previous",
"Next": "Next",
"Navigation": "Navigation",
"Display": "Display",
"Session": "Session",
"Page %d of %d": "Page %d of %d",
"Page %d": "Page %d",
"Per page": "Per page",
"Skip to main content": "Skip to main content",
"Rows per page": "Rows per page",
"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?",
"Delete user": "Delete user",
"This will permanently delete this user.": "This will permanently delete this user.",
"Delete this tenant?": "Delete this tenant?",
"Delete tenant": "Delete tenant",
"This will permanently delete this tenant.": "This will permanently delete this tenant.",
"Tenant": "Tenant",
"Default tenant": "Default tenant",
"Default role": "Default role",
"Default department": "Default department",
"Default": "Default",
"Access & password": "Access & password",
"Security": "Security",
"Preferences": "Preferences",
"My account": "My account",
"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_registration": "Allow public self-registration",
"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)",
"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",
"Default theme": "Default theme",
"Allow user theme": "Allow user theme",
"Allow registration": "Allow registration",
"Appearance": "Appearance",
"API docs": "API docs",
"Can view API documentation": "Can view API documentation",
"Use default color": "Use default color",
"Using the default color applies the global system appearance.": "Using the default color applies the global system appearance.",
"Inactive tenants are excluded from user access and tenant-scoped data.": "Inactive tenants are excluded from user access and tenant-scoped data.",
"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",
"Code": "Code",
"Cost center": "Cost center",
"Department code already exists": "Department code already exists",
"Role code already exists": "Role code already exists",
"Internationalization": "Internationalization",
"User creation rules": "User creation rules",
"App title": "App title",
"Tenants": "Tenants",
"Create tenant": "Create tenant",
"Edit tenant": "Edit tenant",
"View tenant": "View tenant",
"Tenant created": "Tenant created",
"Tenant updated": "Tenant updated",
"Tenant deleted": "Tenant deleted",
"Tenant not found": "Tenant not found",
"Tenant can not be deleted while departments are assigned": "Tenant can not be deleted while departments are assigned",
"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",
"Assigned tenant": "Assigned tenant",
"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",
"Department assignments cleaned: %d": "Department assignments cleaned: %d",
"Select tenants": "Select tenants",
"Select tenant": "Select tenant",
"Assigned roles": "Assigned roles",
"Select roles": "Select roles",
"Department": "Department",
"Departments": "Departments",
"Create department": "Create department",
"Edit department": "Edit department",
"View department": "View department",
"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",
"Department can not be deleted while users are assigned": "Department can not be deleted while users are assigned",
"Delete this department?": "Delete this department?",
"Delete department": "Delete department",
"This will permanently delete this department.": "This will permanently delete this department.",
"Assigned departments": "Assigned departments",
"Select departments": "Select departments",
"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",
"No tenants available": "No tenants available",
"No tenant is available in your current scope.": "No tenant is available in your current scope.",
"Role": "Role",
"Roles": "Roles",
"No roles available": "No roles available",
"Assignable roles": "Assignable roles",
"Create role": "Create role",
"Edit role": "Edit role",
"View role": "View role",
"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?",
"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.",
"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",
"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",
"No contact details available": "No contact details available",
"VAT ID": "VAT ID",
"Tax number": "Tax number",
"Billing email": "Billing email",
"Phone": "Phone",
"Website": "Website",
"Legal": "Legal",
"No legal links configured": "No legal links configured",
"Privacy URL": "Privacy URL",
"Imprint URL": "Imprint URL",
"Region": "Region",
"Fax": "Fax",
"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.",
"Back to start": "Back to start",
"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.",
"Registration is currently disabled": "Registration is currently disabled.",
"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",
"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",
"setting.smtp_from_name": "From name for outgoing emails",
"High contrast": "High contrast",
"Toggle contrast": "Toggle contrast",
"Email security": "Email security",
"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)",
"Created rows (7d)": "Created rows (7d)",
"Failed rows (7d)": "Failed rows (7d)",
"Success rate (7d)": "Success rate (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)",
"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",
"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",
"Last login via": "Last login via",
"Local": "Local",
"Microsoft": "Microsoft",
"Unknown": "Unknown",
"User": "User",
"No entries found": "No entries found",
"Login status": "Login status",
"Logged in": "Logged in",
"Email unverified": "Email unverified",
"Password resets": "Password resets",
"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.",
"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",
"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.",
"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",
"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?",
"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",
"No effective permissions": "No effective permissions",
"Assign at least one role to show effective permissions.": "Assign at least one role to show effective permissions.",
"Please verify your email first": "Please verify your email first",
"Toggle sidebar": "Toggle sidebar",
"Unverified": "Unverified",
"Imprint": "Imprint",
"Privacy": "Privacy",
"Terms of Service": "Terms of Service",
"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 type": "Field type",
"Text": "Text",
"Textarea": "Textarea",
"Select": "Select",
"Multiselect": "Multiselect",
"Boolean": "Boolean",
"Date": "Date",
"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",
"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",
"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",
"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",
"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",
"Enable Microsoft login for this tenant": "Enable Microsoft login for this tenant",
"Entra tenant ID (tid)": "Entra tenant ID (tid)",
"Entra tenant ID is invalid": "Entra tenant ID is invalid",
"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 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 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",
"Local password only": "Local password only",
"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 link is invalid": "Tenant login link is invalid",
"Profile sync on Microsoft login": "Profile sync on Microsoft login",
"Sync fields": "Sync fields",
"Sync first name": "Sync first name",
"Sync last name": "Sync last name",
"Sync display name": "Sync display name",
"Sync job title": "Sync job title",
"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)",
"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",
"Microsoft only": "Microsoft only",
"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.",
"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",
"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.",
"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?",
"API token default lifetime is invalid": "API token default lifetime is invalid",
"API token max lifetime is invalid": "API token max lifetime is invalid",
"nav.logs.mail": "E-mail",
"nav.audit.api": "API",
"nav.audit.system": "System",
"nav.audit.imports": "Imports",
"nav.audit.user_lifecycle": "User lifecycle",
"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 metadata (keys)": "Query metadata (keys)",
"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",
"You do not have permission to run imports.": "You do not have permission to run imports.",
"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",
"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 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",
"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 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",
"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",
"Session policy": "Session policy",
"Registration controls whether new users can create an account.": "Registration controls whether new users can create an account.",
"Session limits define how long logged-in users stay signed in.": "Set idle and absolute limits for active sessions.",
"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.",
"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)",
"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",
"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",
"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)",
"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",
"Session idle timeout is invalid": "Session idle timeout is invalid",
"Session absolute timeout is invalid": "Session absolute timeout is invalid",
"Auto-delete is ignored while auto-deactivate is disabled": "Auto-delete is ignored while auto-deactivate is disabled",
"Scheduled jobs": "Scheduled jobs",
"Scheduled job not found": "Scheduled job not found",
"Scheduled job is not registered": "Scheduled job is not registered",
"This scheduled job is no longer registered and cannot be edited. It has been superseded by a newer version.": "This scheduled job is no longer registered and cannot be edited. It has been superseded by a newer version.",
"Scheduled job could not be saved": "Scheduled job could not be saved",
"Scheduled job saved": "Scheduled job saved",
"Edit scheduled job": "Edit scheduled job",
"View scheduled job": "View scheduled job",
"Job": "Job",
"Job key": "Job key",
"Run history": "Run history",
"Run now": "Run now",
"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 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",
"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",
"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)",
"Frontend telemetry": "Frontend telemetry",
"Enable frontend telemetry": "Enable frontend telemetry",
"Sampling rate": "Sampling rate",
"Allowed telemetry events": "Allowed telemetry events",
"warnOnce warnings": "warnOnce warnings",
"AJAX errors": "AJAX errors",
"The percentage of users who will have telemetry enabled.": "The percentage of users who will have telemetry enabled.",
"Advanced telemetry options": "Advanced telemetry options",
"setting.system_audit_enabled": "Enable/disable system audit logging",
"setting.system_audit_retention_days": "Retention in days for system audit entries",
"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)",
"System audit events (24h)": "System audit events (24h)",
"System audit risks (24h)": "System audit risks (24h)",
"Failed or denied": "Failed or denied",
"Recent system audit risks (24h)": "Recent system audit risks (24h)",
"Lifecycle runs (7d)": "Lifecycle runs (7d)",
"Lifecycle risks (7d)": "Lifecycle risks (7d)",
"Restore actions (7d)": "Restore actions (7d)",
"Recent lifecycle risks (7d)": "Recent lifecycle risks (7d)",
"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.",
"Failed to update role permissions": "Failed to update role permissions",
"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).",
"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.",
"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)",
"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",
"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",
"Dependencies": "Dependencies",
"Permission summary": "Permission summary",
"Active permissions": "Active permissions",
"Inactive (orphaned) permissions": "Inactive (orphaned) permissions",
"Permissions by source": "Permissions by source",
"Source": "Source",
"No health checks available.": "No health checks available.",
"Warning": "Warning",
"Fail": "Fail",
"Environment": "Environment",
"Modules": "Modules",
"Version": "Version",
"Breadcrumb": "Breadcrumb",
"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.",
"Your account is deactivated.": "Your account is deactivated.",
"LDAP": "LDAP",
"LDAP attribute map could not be encoded": "LDAP attribute map could not be encoded",
"Drop file here or click to select": "Drop file here or click to select",
"Remove selected file": "Remove selected file",
"Replace": "Replace",
"Delete this image?": "Delete this image?",
"Current image": "Current image",
"Open navigation": "Open navigation",
"Close navigation": "Close navigation",
"Priority": "Priority",
"Note": "Note",
"Optional note...": "Optional note...",
"Security level updated": "Security level updated",
"About": "About",
"Call": "Call",
"Copy email address": "Copy email address",
"Copy phone number": "Copy phone number",
"Copy mobile number": "Copy mobile number",
"Hired": "Hired",
"Primary": "Primary",
"Send email": "Send email",
"Summary": "Summary"
}