- Updated WorkstationDetailPage to replace BriefcaseIcon with MonitorIcon. - Modified package.json to include new test files. - Refactored FormStepActions to improve button state management. - Introduced profile-creation helper functions for better profile management. - Added WorkProfileAccountField and WorkProfileAuthorizationNotice components for account handling. - Created WorkProfileComputerSummary and WorkProfileSummary for displaying profile details. - Implemented WorkProfileFormFields to consolidate form fields for work profiles. - Developed WorkProfileIdentityFields for managing identity-related inputs. - Added WorkProfileSelectionField for selecting accounts, workstations, and persons. - Created OptionPickerDialog and OptionPickerList for enhanced option selection. - Introduced OptionSelectionField for visual selection with actions. - Added tests for selection components to ensure functionality and reliability.
1058 lines
60 KiB
JSON
1058 lines
60 KiB
JSON
{
|
||
"companies": {
|
||
"navigation": {
|
||
"invalidRoute": "Invalid address",
|
||
"notFound": "Page not found",
|
||
"routeHelp": "Check the address or return to the dashboard."
|
||
},
|
||
"companyOverview": {
|
||
"title": "At a glance",
|
||
"description": "View inventory and items requiring attention at {{name}}.",
|
||
"directory": "People and organization",
|
||
"navigation": "Overview"
|
||
},
|
||
"catalogOverview": {
|
||
"globalTitle": "Global catalogs",
|
||
"companyTitle": "Company catalogs",
|
||
"globalDescription": "Shared definitions for recording and managing data across companies.",
|
||
"companyDescription": "Browse available global definitions and this company's own variants.",
|
||
"items": {
|
||
"access": {
|
||
"title": "Access",
|
||
"description": "Systems, resource types, permissions and access templates."
|
||
},
|
||
"assets": {
|
||
"title": "Assets",
|
||
"description": "Fields, templates and relationship types for the inventory."
|
||
},
|
||
"resources": {
|
||
"title": "Resources",
|
||
"description": "Fields and templates for recording resources."
|
||
},
|
||
"brands": {
|
||
"title": "Brands",
|
||
"description": "Shared brands for the asset inventory."
|
||
},
|
||
"process-templates": {
|
||
"title": "Process templates",
|
||
"description": "Checklists for onboarding, changes and offboarding."
|
||
}
|
||
}
|
||
},
|
||
"processes": {
|
||
"title": "People processes",
|
||
"templates": "Process templates",
|
||
"new": "New process",
|
||
"template": "Process template",
|
||
"newTemplate": "New process template",
|
||
"editTemplate": "Edit process template",
|
||
"globalTemplates": "These templates are shared across companies. Changes only affect processes started afterwards.",
|
||
"kind": "Process type",
|
||
"onboarding": "Onboarding",
|
||
"change": "Change",
|
||
"offboarding": "Offboarding",
|
||
"instructions": "Template tasks",
|
||
"instructionsHelp": "One task per line, up to 100 tasks of 160 characters. Do not repeat a task.",
|
||
"copy": "Create copy",
|
||
"copyOf": "Copy of",
|
||
"history": "History",
|
||
"back": "Back to processes",
|
||
"search": "Search process, person or type…",
|
||
"showClosed": "Also show completed and cancelled processes",
|
||
"empty": "No processes recorded yet.",
|
||
"openDetail": "Open process",
|
||
"update": "Update progress",
|
||
"refresh": "Add new reviews",
|
||
"progress": "{{resolved}} of {{total}} tasks resolved",
|
||
"reviewCount": "{{count}} reviews of this person's current records will be added.",
|
||
"open": "In progress",
|
||
"completed": "Completed",
|
||
"cancelled": "Cancelled",
|
||
"pending": "Pending",
|
||
"done": "Reviewed",
|
||
"not_applicable": "Not applicable",
|
||
"taskNotes": "Task outcome or notes",
|
||
"resolutionHelp": "Reviewed means you have checked the task. Document whether access is withdrawn, retained or reassigned. It does not change accounts, permissions, configurations or assets.",
|
||
"stillRecorded": "This item is still in the person's current review list.",
|
||
"notInReview": "This item no longer appears in the current review; verify the actual outcome.",
|
||
"currentReview": "Current records to review ({{count}})",
|
||
"currentReviewHelp": "This list is read again on the server and may include tasks already reviewed. Use the header button to add new reviews; existing task outcomes are preserved.",
|
||
"reference": {
|
||
"profile": "User profile",
|
||
"asset": "Assigned asset",
|
||
"account": "Account relationship",
|
||
"membership": "Group membership",
|
||
"need": "Resource need",
|
||
"mailbox_use": "Mail use",
|
||
"mail": "Mail configuration",
|
||
"folder": "Folder configuration",
|
||
"printer": "Printer configuration",
|
||
"application": "Application configuration",
|
||
"certificate": "Certificate configuration",
|
||
"telework": "Telework authorization",
|
||
"remote": "Remote access"
|
||
},
|
||
"help": {
|
||
"title": "What is this process for?",
|
||
"description": "Organize checks when a person joins, changes or leaves.",
|
||
"scope": "This process belongs to this company and copies its template. Later template changes do not alter it. Change and offboarding add reviews of the person's documented records.",
|
||
"examples": "Onboarding: prepare accounts and profile. Change: review and transfer configurations. Offboarding: recover assets and review mail, permissions and access from personal devices.",
|
||
"guidance": "Every task must be reviewed or marked Not applicable before completing the process. Closed processes retain history. This documents progress; account and device actions are performed in their respective sections. Saved quick additions remain if you cancel."
|
||
},
|
||
"templateHelp": {
|
||
"title": "What is this template for?",
|
||
"description": "Define a reusable checklist for onboarding, changes or offboarding.",
|
||
"scope": "It is global and contains no specific people, companies, accounts or device data. It is copied when each process starts.",
|
||
"examples": "Check accounts and permissions. Prepare the profile. Recover the device. Review access from personal mobile devices.",
|
||
"guidance": "Templates can be edited or disabled. Disabling prevents new processes and preserves existing ones. Create a copy for a different procedure."
|
||
},
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the fields and tasks.",
|
||
"PROCESS_TEMPLATE_NOT_FOUND": "Template not found.",
|
||
"PROCESS_TEMPLATE_INACTIVE": "The template is disabled.",
|
||
"PROCESS_TEMPLATE_DUPLICATE": "A template with this name already exists.",
|
||
"PROCESS_PERSON_NOT_FOUND": "Select a person from this company.",
|
||
"PROCESS_ALREADY_OPEN": "This person already has a process of this type in progress.",
|
||
"PROCESS_NOT_FOUND": "Process not found.",
|
||
"PROCESS_CLOSED": "A closed process cannot change.",
|
||
"PROCESS_PENDING_TASKS": "Resolve pending tasks before completing the process.",
|
||
"PROCESS_TASKS_IMMUTABLE": "Tasks and their references cannot be replaced.",
|
||
"PROCESS_SUBJECT_IMMUTABLE": "The person and original template cannot change.",
|
||
"PROCESS_CONFLICT": "Another user updated the process. Cancel this form, reload the record and edit again.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Try again.",
|
||
"FORBIDDEN": "Sign in again.",
|
||
"UNAUTHENTICATED": "Sign in again."
|
||
},
|
||
"delete": "Delete process",
|
||
"deleteConfirm": "Do you want to delete the process “{{name}}”? This also deletes its history."
|
||
},
|
||
"remote": {
|
||
"title": "Remote access",
|
||
"new": "New remote access",
|
||
"edit": "Edit remote access",
|
||
"person": "Person",
|
||
"sourceKind": "Source device",
|
||
"company_asset": "Company asset",
|
||
"personal_computer": "Personal computer",
|
||
"personal_mobile": "Personal mobile",
|
||
"sourceAsset": "Source asset",
|
||
"targetKind": "Target type",
|
||
"network": "Company / site network",
|
||
"asset": "Specific device",
|
||
"resource": "Specific resource",
|
||
"target": "Target",
|
||
"site": "Site",
|
||
"allCompany": "Company network",
|
||
"method": "Method or tool",
|
||
"methodExample": "VPN, RDP, AnyDesk…",
|
||
"requiresVpn": "Requires a prior VPN connection",
|
||
"vpnRequired": "Prior VPN required",
|
||
"vpnNote": "The required VPN connection must be checked separately.",
|
||
"authorizationMissing": "The person has no current telework authorization. Review the existing access.",
|
||
"review": "Review: removal is pending, authorization is not current, or the person, source or target is unavailable.",
|
||
"search": "Search person, source, target or tool…",
|
||
"empty": "No remote access has been recorded yet.",
|
||
"showClosed": "Also show removed and never configured access",
|
||
"fixed": "The person, source and target are fixed. For a different route, close this access and create a new one.",
|
||
"history": "Access history",
|
||
"manage": "Manage remote access",
|
||
"newAsset": "New asset",
|
||
"newResource": "New resource",
|
||
"help": "What is this access for?",
|
||
"description": "Document how a person connects from outside to a company network, device or resource.",
|
||
"scope": "This is the person's access for work. Technician assistance is separate. Personal devices are identified only by type and are not company inventory assets.",
|
||
"examples": "Company laptop → VPN → site network. Personal computer → RDP → office PC, with prior VPN. Personal mobile → a specific resource.",
|
||
"guidance": "Custom tool names are allowed. Configured describes documented access and does not grant permission. You can record access that still works after authorization ends; it will be flagged for review. Folder and application permissions are not duplicated, and real connections are not established or disconnected. Do not store passwords. Saved quick additions remain if this form is cancelled.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the person, source, target and tool.",
|
||
"REMOTE_TARGET_IMMUTABLE": "The person, source and target cannot change.",
|
||
"REMOTE_REFERENCE_NOT_FOUND": "Select references from this company.",
|
||
"REMOTE_ALREADY_OPEN": "An open access with this source, target and tool already exists for the person.",
|
||
"INVALID_REMOTE_TRANSITION": "This state change is not allowed.",
|
||
"REMOTE_CONNECTION_NOT_FOUND": "Access not found.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Try again.",
|
||
"FORBIDDEN": "Your session does not allow this operation. Sign in again.",
|
||
"UNAUTHENTICATED": "Sign in again."
|
||
}
|
||
},
|
||
"telework": {
|
||
"title": "Telework",
|
||
"authorizations": "Remote work authorizations",
|
||
"new": "New authorization",
|
||
"edit": "Edit telework authorization",
|
||
"person": "Person",
|
||
"active": "Active authorization",
|
||
"startsOn": "Valid from",
|
||
"expiresOn": "Valid through",
|
||
"notes": "Notes",
|
||
"authorized": "Authorized",
|
||
"scheduled": "Scheduled",
|
||
"expired": "Expired",
|
||
"revoked": "Revoked",
|
||
"empty": "No telework authorizations have been recorded yet.",
|
||
"notRecorded": "No telework authorization is recorded for this person.",
|
||
"search": "Search person…",
|
||
"review": "Review: the person is inactive. This authorization is not effective.",
|
||
"ineffective": "Authorization is not current. Review existing remote access and configurations.",
|
||
"effective": "Current authorization for the person; this does not prove remote connectivity is ready.",
|
||
"noDate": "No date limit",
|
||
"fixed": "The person cannot change. Edit this authorization to renew or revoke it.",
|
||
"history": "Authorization history",
|
||
"manage": "Manage telework",
|
||
"help": "What is this authorization for?",
|
||
"description": "Document whether a person may work away from the site and for which period.",
|
||
"scope": "Authorization belongs to the company person and applies across their profiles. It does not grant Metis Desk access or new resource permissions.",
|
||
"examples": "Ana is authorized without an end date; Ruben is authorized from December 1 through December 31; on departure, revoke authorization while retaining history.",
|
||
"guidance": "Both dates are optional and the final day is included. Deactivate to revoke. This record does not configure VPN, disconnect sessions or remove mail. A saved new person remains if this form is cancelled.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the data and date order.",
|
||
"TELEWORK_PERSON_IMMUTABLE": "The authorization person cannot change.",
|
||
"TELEWORK_PERSON_NOT_FOUND": "Select a person from this company.",
|
||
"TELEWORK_PERSON_INACTIVE": "An inactive person cannot be authorized. You can revoke their authorization.",
|
||
"TELEWORK_ALREADY_EXISTS": "This person already has an authorization. Edit it to renew or revoke.",
|
||
"TELEWORK_AUTHORIZATION_NOT_FOUND": "Authorization not found.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Try again.",
|
||
"FORBIDDEN": "Your session does not allow this operation. Sign in again.",
|
||
"UNAUTHENTICATED": "Sign in again."
|
||
}
|
||
},
|
||
"environment": {
|
||
"title": "Current environment",
|
||
"description": "What this person has and needs on this device.",
|
||
"back": "Back to environment",
|
||
"manage": "Manage",
|
||
"manageSection": "Manage {{section}}",
|
||
"equipment": "Device and workstation",
|
||
"configurations": "Profile configurations",
|
||
"archived": "Archived profile: configurations retain their last recorded state and need review. This is not a current environment.",
|
||
"personInactive": "This person is inactive. Review their configurations and access.",
|
||
"reviewProfile": "This profile needs review. Check the person, device and sign-in account.",
|
||
"device": "Device",
|
||
"workstation": "Workstation",
|
||
"position": "Person's job title",
|
||
"noStation": "This device does not belong to an active workstation.",
|
||
"samePerson": "Other profiles for this person",
|
||
"empty": "No open configurations in this section.",
|
||
"noAttention": "No pending configurations or reviews in this section.",
|
||
"pending": "To configure",
|
||
"configured": "Configured",
|
||
"removal": "To remove",
|
||
"review": "To review",
|
||
"onlyAttention": "Show only pending or needing review",
|
||
"needsReview": "Needs review",
|
||
"path": "Path",
|
||
"drive": "Drive",
|
||
"default": "Default",
|
||
"authorization": "Authorization",
|
||
"expiry": "Expiry",
|
||
"validity": "Validity",
|
||
"retiredAsset": "Retired asset",
|
||
"profileNotFound": "This profile is unavailable in this company.",
|
||
"loadError": "Could not load the complete environment. Retry to view all configurations.",
|
||
"loading": "Loading environment…",
|
||
"unknown": "No records does not mean the device is ready. This view shows documented information without inspecting the actual device configuration.",
|
||
"unlinkedMail": "{{count}} legacy mail configurations for this person and device are not linked to the profile. Review them in the company Mail on devices section."
|
||
},
|
||
"certificates": {
|
||
"title": "Profile certificates",
|
||
"new": "Configure certificate",
|
||
"edit": "Edit certificate configuration",
|
||
"resource": "Digital certificate",
|
||
"newResource": "New digital certificate",
|
||
"location": "Store or location",
|
||
"expiryValue": "Expires: {{date}}",
|
||
"expired": "Expired",
|
||
"locationValue": "Location: {{location}}",
|
||
"search": "Search certificate, profile, person or device…",
|
||
"empty": "No certificates have been registered for these profiles yet.",
|
||
"review": "Review: removal is pending, the certificate has expired, or the resource, profile, person or device is unavailable.",
|
||
"fixed": "The profile and certificate are fixed. For another target, close this configuration and create a new one.",
|
||
"help": "What is this configuration for?",
|
||
"description": "Record the certificates a person needs in their device profile and whether they are ready to use.",
|
||
"scope": "The certificate is a company resource. Manage holder, issuer and expiry in Resources; location and state belong to this profile.",
|
||
"examples": "Windows user store, Firefox store or smart card. A certificate may be used in several profiles.",
|
||
"guidance": "Pending means a need; Configured means verified availability. Location may be left empty. This record does not install, authorize or remove real certificates. Do not attach certificates, private keys, PINs or passwords. Saved quick additions remain if you cancel this form.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the form data.",
|
||
"CERTIFICATE_REFERENCE_NOT_FOUND": "Select a company profile and a resource from a digital certificate template.",
|
||
"CERTIFICATE_REFERENCE_UNAVAILABLE": "The certificate has expired or the profile, person, device or resource is unavailable for configuration.",
|
||
"CERTIFICATE_TARGET_IMMUTABLE": "The profile and certificate cannot change.",
|
||
"CERTIFICATE_ALREADY_OPEN": "This certificate already has an open configuration in the profile.",
|
||
"INVALID_CERTIFICATE_TRANSITION": "This state change is not allowed.",
|
||
"CERTIFICATE_CONFIGURATION_NOT_FOUND": "Configuration not found.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Try again.",
|
||
"FORBIDDEN": "Your session does not allow this operation. Sign in again.",
|
||
"UNAUTHENTICATED": "Sign in again."
|
||
}
|
||
},
|
||
"applications": {
|
||
"title": "Profile applications",
|
||
"new": "Configure application",
|
||
"edit": "Edit application configuration",
|
||
"resource": "Application",
|
||
"newResource": "New application",
|
||
"delivery": "Usage",
|
||
"installed": "Installed on device",
|
||
"web": "Web access",
|
||
"version": "Version",
|
||
"versionValue": "Version: {{version}}",
|
||
"search": "Search application, profile, person or device…",
|
||
"empty": "No applications have been registered for these profiles yet.",
|
||
"review": "Review: removal is pending or the resource, profile, person or device is unavailable.",
|
||
"fixed": "The profile and application are fixed. For another target, close this configuration and create a new one.",
|
||
"help": "What is this configuration for?",
|
||
"description": "Record the applications a person needs in their device profile and whether they are ready to use.",
|
||
"scope": "The application is a company resource. Manage its provider and URL in Resources; version and state belong to this profile.",
|
||
"examples": "Thunderbird installed at Ana's request; installed corporate Zoom; ERP accessed in a browser.",
|
||
"guidance": "Pending means a need; Configured means verified availability. This does not install software or grant permissions. No license or account is required. Saved quick additions remain if you cancel this form.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the form. Version applies only to installed applications.",
|
||
"APPLICATION_REFERENCE_NOT_FOUND": "Select a company profile and a resource from an application template.",
|
||
"APPLICATION_REFERENCE_UNAVAILABLE": "The profile, person, device or application is unavailable for configuration.",
|
||
"APPLICATION_TARGET_IMMUTABLE": "The profile and application cannot change.",
|
||
"APPLICATION_ALREADY_OPEN": "This application already has an open configuration in the profile.",
|
||
"INVALID_APPLICATION_TRANSITION": "This state change is not allowed.",
|
||
"APPLICATION_CONFIGURATION_NOT_FOUND": "Configuration not found.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Try again.",
|
||
"FORBIDDEN": "Your session does not allow this operation. Sign in again.",
|
||
"UNAUTHENTICATED": "Sign in again."
|
||
}
|
||
},
|
||
"printers": {
|
||
"title": "Profile printers",
|
||
"new": "Configure printer",
|
||
"edit": "Edit printer configuration",
|
||
"printer": "Inventory printer",
|
||
"newAsset": "New inventory printer",
|
||
"connection": "Connection",
|
||
"usb": "USB",
|
||
"network": "Network",
|
||
"default": "Default printer",
|
||
"notDefault": "Not default",
|
||
"search": "Search printer, profile, person or device…",
|
||
"empty": "No printers have been configured for these profiles yet.",
|
||
"review": "Review this configuration: removal is pending or the profile, person or device is unavailable.",
|
||
"fixed": "The profile and printer are fixed. For another target, retire this configuration and create a new one.",
|
||
"help": "What is this configuration for?",
|
||
"description": "Document the printers a person needs in their device profile and how they connect.",
|
||
"scope": "The printer is a company asset. Configuring it in a profile does not change its assignment or create a physical connection.",
|
||
"examples": "Example: network administration printer and USB Zebra label printer on Ana's laptop.",
|
||
"guidance": "Select the asset representing the printer, regardless of its template. A profile may have several printers and one default. Quick additions remain saved if you cancel this form.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the form data.",
|
||
"PRINTER_REFERENCE_NOT_FOUND": "Select a profile and printer from this company; the printer must differ from the profile device.",
|
||
"PRINTER_REFERENCE_UNAVAILABLE": "The profile, person, device or printer is unavailable for configuration.",
|
||
"PRINTER_TARGET_IMMUTABLE": "The profile and printer cannot change.",
|
||
"PRINTER_ALREADY_OPEN": "This printer already has an open configuration in the profile.",
|
||
"DEFAULT_PRINTER_EXISTS": "This profile already has another default printer. Uncheck the previous one first.",
|
||
"INVALID_PRINTER_TRANSITION": "This state change is not allowed.",
|
||
"PRINTER_CONFIGURATION_NOT_FOUND": "Printer configuration not found.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Try again.",
|
||
"FORBIDDEN": "Your session does not allow this operation. Sign in again.",
|
||
"UNAUTHENTICATED": "Sign in again."
|
||
}
|
||
},
|
||
"mail": {
|
||
"title": "Email on devices",
|
||
"new": "Configure email",
|
||
"profile": "User profile",
|
||
"legacy": "Previous record awaiting mailbox and profile linking.",
|
||
"legacyLink": "Select this person’s profile on this device and a mailbox with the same address. Previous history will be retained:",
|
||
"edit": "Edit configuration",
|
||
"empty": "No email configurations on devices yet.",
|
||
"search": "Find email, person or device…",
|
||
"person": "Person",
|
||
"account": "IT account",
|
||
"asset": "Device",
|
||
"choose": "Choose a value",
|
||
"address": "Email address",
|
||
"method": "Access method",
|
||
"state": "Status",
|
||
"notes": "Notes",
|
||
"pop": "POP",
|
||
"imap": "IMAP",
|
||
"exchange": "Exchange",
|
||
"other": "Other",
|
||
"pending": "Pending configuration",
|
||
"configured": "Configured",
|
||
"removal_pending": "Pending removal",
|
||
"removed": "Removed",
|
||
"never_configured": "Never configured",
|
||
"review": "Review usage: mailbox, profile, person, device or usage period is no longer valid.",
|
||
"noAuthorization": "Authorize this account for the person before saving an active configuration.",
|
||
"authorize": "Authorize account for this person",
|
||
"newAccount": "New account",
|
||
"newAsset": "New device",
|
||
"newPerson": "New person",
|
||
"history": "History",
|
||
"help": "What is this configuration for?",
|
||
"description": "Record which email is configured on each person's device and how it is accessed.",
|
||
"examplesLabel": "Examples and guidance",
|
||
"examples": "Ana: ana@company.com via IMAP on her laptop and Exchange on her phone; sales@company.com on the laptop too.",
|
||
"guidance": "Mailbox usage by the person is tracked separately and does not require an IT account. Confirm removal from the device before marking it removed. Do not enter passwords.",
|
||
"scope": "Multiple mailboxes per person and multiple profiles per mailbox are supported. Changes retain history.",
|
||
"fixed": "Mailbox and profile are fixed. To change either, remove this configuration and create another.",
|
||
"errors": {
|
||
"MAIL_LEGACY_TARGET_MISMATCH": "Linking must preserve the previous person, device and address.",
|
||
"MAILBOX_EXISTS": "A mailbox with this address already exists.",
|
||
"MAILBOX_SCOPE_MISMATCH": "All elements must belong to this company.",
|
||
"MAILBOX_UNAVAILABLE": "Mailbox and person must be active.",
|
||
"MAILBOX_USE_OVERLAP": "A usage period already overlaps these dates.",
|
||
"MAILBOX_KIND_IMMUTABLE": "Mailbox type is fixed after creation.",
|
||
"MAILBOX_USE_TARGET_IMMUTABLE": "Person, mailbox and start date are fixed.",
|
||
"MAILBOX_USE_CLOSED": "This period is already closed.",
|
||
"MAILBOX_NOT_FOUND": "The mailbox is unavailable.",
|
||
"MAILBOX_USE_NOT_FOUND": "The usage link is unavailable.",
|
||
"INVALID_PERIOD": "Check the period dates.",
|
||
"INVALID_REQUEST": "Review the fields; enter a valid email address.",
|
||
"MAIL_SCOPE_MISMATCH": "Mailbox and profile must belong to this company.",
|
||
"MAIL_NOT_AUTHORIZED": "The profile and mailbox must be current, with an active mailbox usage period for the person.",
|
||
"MAIL_CONFIGURATION_EXISTS": "An open configuration already exists for this mailbox and profile.",
|
||
"MAIL_TARGET_IMMUTABLE": "Create another configuration to change mailbox or profile.",
|
||
"INVALID_MAIL_TRANSITION": "Invalid status change. Configured email must first be marked for removal.",
|
||
"MAIL_CONFIGURATION_NOT_FOUND": "The configuration is unavailable in this company.",
|
||
"COMPANY_NOT_FOUND": "The company is unavailable.",
|
||
"UNAUTHENTICATED": "Your session expired. Sign in again.",
|
||
"FORBIDDEN": "Reload the page to authorize the operation.",
|
||
"INTERNAL_ERROR": "Unable to complete the operation. Try again."
|
||
}
|
||
},
|
||
"mailbox": {
|
||
"title": "Mailboxes",
|
||
"titleSingle": "Mailbox",
|
||
"new": "New mailbox",
|
||
"edit": "Edit mailbox",
|
||
"empty": "No mailboxes recorded yet.",
|
||
"search": "Search address or context",
|
||
"kind": "Mailbox type",
|
||
"corporate": "Corporate",
|
||
"external": "External",
|
||
"context": "Context",
|
||
"account": "Related IT account",
|
||
"noAccount": "No related account",
|
||
"active": "Active mailbox",
|
||
"linkPerson": "Link person",
|
||
"authorize": "Record usage authorization",
|
||
"recordUse": "Record external email usage",
|
||
"useMissing": "First record this mailbox's usage period for the profile's person.",
|
||
"start": "From",
|
||
"end": "Until (end day excluded)",
|
||
"openPeriod": "No end date",
|
||
"closeUse": "End usage",
|
||
"help": "What is a mailbox?",
|
||
"description": "A mailbox identifies an email address. Several people can use it and it can be configured in several profiles.",
|
||
"guidance": "The domain does not determine company ownership. External email may be personal or belong to a client, supplier or collaboration. Linking an IT account is optional and does not grant mailbox access. Type is fixed after creation.",
|
||
"examples": "ana@company.com; administration@anothercompany.com; personal email used on a laptop. Do not enter passwords.",
|
||
"useHelp": "What is this link for?",
|
||
"useDescription": "For corporate mailboxes, record documented authorization. For external mailboxes, record personal usage without asserting company ownership.",
|
||
"useGuidance": "The start day is included and the end day excluded. Ending usage preserves history and flags outstanding configurations for review. It does not remove email from devices automatically.",
|
||
"useExamples": "Ana uses administration@company.com from her start date; she stops using it when changing departments."
|
||
},
|
||
"folders": {
|
||
"title": "Profile folders",
|
||
"new": "Configure folder",
|
||
"edit": "Edit folder configuration",
|
||
"empty": "No folders configured in profiles yet.",
|
||
"search": "Search folder, path or profile",
|
||
"need": "Access requirement",
|
||
"newNeed": "New access requirement",
|
||
"path": "Shared path",
|
||
"letter": "Drive letter",
|
||
"noLetter": "Direct path access, no drive letter",
|
||
"currentPath": "Current resource path",
|
||
"useCurrentPath": "Use current path",
|
||
"fixed": "Profile and access requirement are fixed after creation.",
|
||
"permissions": "Required permissions",
|
||
"covered": "Permissions have recorded coverage",
|
||
"uncovered": "Some permissions need coverage or review.",
|
||
"review": "Review: the path changed, the access requirement ended or a referenced item is unavailable.",
|
||
"help": "What is this configuration for?",
|
||
"description": "Records how a person accesses a shared folder from a specific profile. The access requirement defines the resource and permissions; this record documents device configuration.",
|
||
"guidance": "The resource reference must contain a UNC server and share path. The drive letter is optional and cannot repeat among open configurations of the same profile. A mapped folder does not prove permissions were granted.",
|
||
"examples": "General on SOLETE01 mapped as G:; Administration as H:; Orders as P:. Direct path access without a drive letter is also supported.",
|
||
"scope": "Changes retain path, letter, status, date and technician. Removal records verified work; Metis Desk does not change permissions or unmount device drives.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the form fields.",
|
||
"INVALID_FOLDER_PATH": "Enter a valid UNC path in the resource reference.",
|
||
"INVALID_DRIVE_LETTER": "Use a single letter from A to Z.",
|
||
"FOLDER_SCOPE_MISMATCH": "Profile and access requirement must belong to the company and the same person.",
|
||
"FOLDER_TARGET_IMMUTABLE": "Create another configuration to change the profile or requirement.",
|
||
"FOLDER_UNAVAILABLE": "Profile, resource and requirement must be current. The path must match the resource's current reference.",
|
||
"FOLDER_MAPPING_EXISTS": "An open folder configuration already exists for this profile.",
|
||
"DRIVE_LETTER_IN_USE": "Another folder in this profile already reserves this letter.",
|
||
"INVALID_FOLDER_TRANSITION": "Invalid status change. A configured folder must first be marked for removal.",
|
||
"FOLDER_MAPPING_NOT_FOUND": "The configuration is unavailable.",
|
||
"COMPANY_NOT_FOUND": "The company is unavailable.",
|
||
"INTERNAL_ERROR": "Unable to complete the operation. Try again.",
|
||
"UNAUTHENTICATED": "Your session expired.",
|
||
"FORBIDDEN": "Reload the page to authorize the operation."
|
||
}
|
||
},
|
||
"profiles": {
|
||
"title": "User profiles",
|
||
"new": "New profile",
|
||
"edit": "Edit profile",
|
||
"name": "Profile name",
|
||
"person": "Person",
|
||
"asset": "Device",
|
||
"account": "Sign-in account",
|
||
"noAccount": "No recorded account",
|
||
"active": "Current profile",
|
||
"inactive": "Archived profile",
|
||
"choose": "Choose an item",
|
||
"notes": "Notes",
|
||
"search": "Search by profile, person or device",
|
||
"empty": "This company has no user profiles yet.",
|
||
"history": "Details and history",
|
||
"showArchived": "Include archived profiles",
|
||
"review": "Review: the person, device or account is no longer available for this profile.",
|
||
"fixed": "Person and device identify this profile. Create another profile for a different person or device.",
|
||
"help": "What is a user profile for?",
|
||
"description": "Identifies a person's environment on a specific device. A person can have several profiles and a device can host profiles for several people.",
|
||
"guidance": "Select the workstation and the person using this profile. The computer comes from the workstation; its custodian does not automatically become a user. The optional sign-in account must be authorized for that person.",
|
||
"examplesLabel": "Examples and guidance",
|
||
"examples": "Ana on PORT-ANA-01; Ana on a second computer; Luis on a shared computer. Each profile can have several mailboxes. Applications and resources will be added later.",
|
||
"scope": "All elements belong to this company. Archiving preserves data and history; it does not revoke access or remove device configurations.",
|
||
"unknownConfiguration": "Applications, folders, printers and certificates: pending implementation.",
|
||
"stations": "Workstations using this device",
|
||
"noStation": "This device is not included in a current workstation.",
|
||
"accountHint": "Selecting an account does not configure it on the device. Authorization and configuration are tracked separately.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the form fields.",
|
||
"PROFILE_REFERENCE_NOT_FOUND": "The person, device or account does not belong to this company.",
|
||
"PROFILE_REFERENCE_UNAVAILABLE": "The person or workstation main computer is unavailable, or the account has no current authorization for this person.",
|
||
"PROFILE_ALREADY_ACTIVE": "A current profile already exists for this person on this device.",
|
||
"PROFILE_TARGET_IMMUTABLE": "A profile's person and device cannot change.",
|
||
"PROFILE_ACTIVE": "Deactivate the profile before deleting it.",
|
||
"PROFILE_IN_USE": "The profile has linked mail, folder, printer, application or certificate configurations, including revisions. Delete those records before deleting the profile.",
|
||
"PROFILE_NOT_FOUND": "This profile is unavailable.",
|
||
"COMPANY_NOT_FOUND": "This company is unavailable.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Please try again."
|
||
},
|
||
"deactivate": "Deactivate profile",
|
||
"delete": "Delete profile",
|
||
"deactivateDescription": "Deactivate “{{name}}”? Its data, history and configurations are preserved. This action does not remove permissions or configurations from the device.",
|
||
"deleteDescription": "Permanently delete “{{name}}” and its history? It must be inactive and have no linked current or historical mail, folder, printer, application or certificate configurations.",
|
||
"lifecyclePending": "Processing…",
|
||
"lifecycleHelp": "To delete a profile, deactivate it first and delete its linked configuration records. Deactivating preserves history and does not revoke external access.",
|
||
"workstation": "Workstation",
|
||
"chooseWorkstation": "Select a workstation",
|
||
"workstationNeedsComputer": "Edit this workstation and identify an available main computer before creating the profile.",
|
||
"suggestedName": "{{person}} · {{computer}}",
|
||
"steps": {
|
||
"label": "New profile steps",
|
||
"completed": "Completed",
|
||
"progress": "Step {{step}} of {{total}}",
|
||
"workstation": "Workstation",
|
||
"person": "Person",
|
||
"account": "Account",
|
||
"summary": "Summary",
|
||
"details": "Profile details",
|
||
"selected": "Selected details",
|
||
"previous": "Previous",
|
||
"next": "Next",
|
||
"workstationDescription": "Select the workstation where the profile will be used. Its main computer becomes the profile device.",
|
||
"personDescription": "Choose the person who will use this profile. This can be someone other than the workstation owner.",
|
||
"accountDescription": "Link a sign-in account or continue without one. If you choose an account, review its authorization.",
|
||
"summaryDescription": "Review your selections and adjust the name, notes and status before saving."
|
||
},
|
||
"selection": {
|
||
"change": "Change selection",
|
||
"clear": "Remove account",
|
||
"column": "Selection",
|
||
"details": "Details",
|
||
"confirm": "Select",
|
||
"workstation": {
|
||
"empty": "Choose the profile workstation",
|
||
"description": "Select an active workstation in this company with an available main computer. If none exists yet, complete the workstation first.",
|
||
"select": "Select workstation",
|
||
"search": "Search by workstation or computer"
|
||
},
|
||
"person": {
|
||
"empty": "Who will use this profile?",
|
||
"description": "Select an active person in the company or create a new one. The workstation owner is not assigned automatically.",
|
||
"select": "Select person",
|
||
"search": "Search by person, position or email"
|
||
},
|
||
"account": {
|
||
"empty": "Add a sign-in account",
|
||
"description": "The account is optional. Select an existing one, create a new one, or continue without linking an account.",
|
||
"select": "Select account",
|
||
"search": "Search by account, system or usage"
|
||
}
|
||
}
|
||
},
|
||
"companySpaces": "Company spaces",
|
||
"globalCatalogs": "Global catalogs",
|
||
"dashboard": {
|
||
"title": "Home",
|
||
"description": "View companies, inventory and items requiring attention.",
|
||
"indicators": "Activity indicators",
|
||
"activeCompanies": "Active companies",
|
||
"registeredAssets": "Registered assets",
|
||
"registeredResources": "Registered resources",
|
||
"viewAll": "View all",
|
||
"type": "Type",
|
||
"attention": "Situations that need attention",
|
||
"attentionUnavailable": "This version does not calculate alerts without a verifiable aggregate query.",
|
||
"recentActivity": "Recent activity",
|
||
"recentActivityDescription": "The latest recorded change was on {{date}}.",
|
||
"noRecentActivity": "There is no recorded activity yet.",
|
||
"blockError": "This section could not be loaded. Return to Home to retry.",
|
||
"connected": "Connection available",
|
||
"noAttention": "There are no pending alerts.",
|
||
"noMatches": "There are no records for this selection.",
|
||
"records": "records",
|
||
"companySummary": "Company summary",
|
||
"quickActions": "Quick actions",
|
||
"recordUpdated": "Recorded revision of {{name}}",
|
||
"chooseCompany": "Select the company where you want to register the item.",
|
||
"continue": "Continue",
|
||
"activeOnly": "Active companies only",
|
||
"recordedAt": "Change date",
|
||
"recordedBy": "Recorded by",
|
||
"issues": {
|
||
"certificate": "Certificates expiring in the next 30 days",
|
||
"license": "Licenses expiring in the next 30 days",
|
||
"profile": "User profiles with references awaiting review",
|
||
"missing_site": "Assets without an assigned site",
|
||
"inactive_person": "Inactive people with assignments awaiting review"
|
||
},
|
||
"create": {
|
||
"company": "New company",
|
||
"asset": "New asset",
|
||
"resource": "New resource"
|
||
}
|
||
},
|
||
"supportWorkspace": "Your support workspace",
|
||
"workspaceSections": "Workspace sections",
|
||
"people": "People",
|
||
"newPerson": "New person",
|
||
"editPerson": "Edit person",
|
||
"backToPeople": "Back to people",
|
||
"generalPosition": "General job title",
|
||
"emailOptional": "Email",
|
||
"phoneOptional": "Phone",
|
||
"activePerson": "Active person",
|
||
"inactivePerson": "Inactive person",
|
||
"isContact": "Company contact",
|
||
"deactivationHelp": "Assignments and history will be retained. Review any open memberships.",
|
||
"inactiveMembershipWarning": "This person is inactive and has department assignments that need review.",
|
||
"contactsOnly": "Contacts only",
|
||
"searchPerson": "Find person",
|
||
"noPeople": "No people in this company yet.",
|
||
"currentWorkstations": "Current workstations",
|
||
"noCurrentWorkstations": "This person has no active workstations assigned.",
|
||
"noWorkstationAssets": "This workstation has no assets yet.",
|
||
"workstationsLoadError": "Workstations could not be loaded.",
|
||
"departments": "Departments",
|
||
"department": "Department",
|
||
"newDepartment": "New department",
|
||
"editDepartment": "Edit department",
|
||
"activeDepartment": "Active department",
|
||
"inactiveDepartment": "Inactive department",
|
||
"noDepartments": "No departments yet.",
|
||
"departmentDeactivationHelp": "Deactivation retains existing assignments but prevents new ones.",
|
||
"departmentAssignments": "Department assignments",
|
||
"addAssignment": "Assign department",
|
||
"editAssignment": "Edit assignment",
|
||
"noAssignments": "This person has no department assignments yet.",
|
||
"chooseDepartment": "Choose a department",
|
||
"departmentPosition": "Department job title",
|
||
"startDate": "Start date",
|
||
"endDate": "End date",
|
||
"primary": "Primary",
|
||
"primaryDepartment": "Primary department",
|
||
"assignmentHelp": "Without an end date, the assignment remains open. To record a new job period, close this assignment and create the next one; both may use the same day. Edits retain history.",
|
||
"history": "History",
|
||
"assignmentHistory": "Assignment history",
|
||
"createDepartmentFirst": "You can add a department from the assignment form.",
|
||
"yes": "Yes",
|
||
"no": "No",
|
||
"title": "Companies",
|
||
"help": "Manage client companies, their contact people and their sites.",
|
||
"name": "Name",
|
||
"status": "Status",
|
||
"actions": "Actions",
|
||
"active": "Active",
|
||
"inactive": "Inactive",
|
||
"activeCompany": "Active company",
|
||
"inactiveCompany": "Inactive company",
|
||
"activeContact": "Active contact",
|
||
"newCompany": "New company",
|
||
"editCompany": "Edit company",
|
||
"newContact": "New contact",
|
||
"editContact": "Edit contact",
|
||
"newSite": "New site",
|
||
"editSite": "Edit site",
|
||
"contacts": "Contacts",
|
||
"sites": "Sites",
|
||
"position": "Job title",
|
||
"email": "Email",
|
||
"phone": "Phone",
|
||
"addressOptional": "Address",
|
||
"addressHelp": "Enter multiple lines, up to 10,000 characters.",
|
||
"noAddress": "No address",
|
||
"empty": "No companies yet. Create the first one to add contacts and sites.",
|
||
"noContacts": "No contacts in this company yet.",
|
||
"noSites": "No sites in this company yet.",
|
||
"search": "Find company",
|
||
"searchPlaceholder": "Company name…",
|
||
"noResults": "No companies found.",
|
||
"companySections": "Company information",
|
||
"open": "Open details",
|
||
"edit": "Edit",
|
||
"back": "Back to companies",
|
||
"close": "Close editor",
|
||
"cancel": "Cancel",
|
||
"save": "Save",
|
||
"saving": "Saving…",
|
||
"saved": "Changes saved.",
|
||
"loading": "Loading companies…",
|
||
"retry": "Try again",
|
||
"invalidForm": "Review the form fields.",
|
||
"errors": {
|
||
"PERSON_NOT_FOUND": "The person does not belong to this company or is unavailable.",
|
||
"DEPARTMENT_NOT_FOUND": "The department does not belong to this company or is unavailable.",
|
||
"DEPARTMENT_NAME_EXISTS": "A department with this name already exists in this company.",
|
||
"ASSIGNMENT_NOT_FOUND": "The assignment does not belong to this person or is unavailable.",
|
||
"ASSIGNMENT_CONFLICT": "Dates overlap with another assignment or a primary department already exists. Review current assignments.",
|
||
"INACTIVE_ASSIGNMENT_TARGET": "Activate the person and department before creating or reopening an assignment.",
|
||
"INVALID_REQUEST": "Review the submitted data. Enter a valid phone number.",
|
||
"COMPANY_NOT_FOUND": "The company is not available.",
|
||
"CONTACT_NOT_FOUND": "The contact does not belong to this company or is not available.",
|
||
"SITE_NOT_FOUND": "The site does not belong to this company or is not available.",
|
||
"UNAUTHENTICATED": "Your session expired. Sign in again.",
|
||
"FORBIDDEN": "The operation could not be authorized. Reload the page.",
|
||
"INTERNAL_ERROR": "The operation could not be completed. Try again.",
|
||
"INVALID_LOGO": "Invalid image. Use a non-animated PNG, JPEG or WebP.",
|
||
"LOGO_TOO_LARGE": "Logo exceeds the limit: maximum 2 MB and 4096 × 4096 px.",
|
||
"LOGO_NOT_FOUND": "The logo is no longer available.",
|
||
"SITE_IN_USE": "The site has associated records or historical references and cannot be deleted. You can archive it."
|
||
},
|
||
"shell": {
|
||
"catalogs": "Catalogs"
|
||
},
|
||
"logo": {
|
||
"partialSave": "Company details were saved, but the logo was not. You can fix it and save again without creating another company.",
|
||
"label": "Company logo",
|
||
"optional": "Optional. Initials appear when no logo is available.",
|
||
"help": "PNG, JPEG or WebP. Maximum 2 MB and 4096 × 4096 px. Optimized to WebP up to 128 × 128 px and 64 KB, without cropping. Applied on save.",
|
||
"selected": "Selected: {{name}}. It will be optimized on save.",
|
||
"removed": "The logo will be removed on save.",
|
||
"remove": "Remove logo",
|
||
"undo": "Undo logo change"
|
||
},
|
||
"deletePerson": "Delete person",
|
||
"deletingPerson": "Deleting…",
|
||
"deletePersonConfirm": "Delete {{name}}? It can only be deleted when it has no registered relationships.",
|
||
"deletePersonError": "This person cannot be deleted because it has registered relationships.",
|
||
"deleteAssignment": "Delete assignment",
|
||
"deletingAssignment": "Deleting…",
|
||
"deleteAssignmentConfirm": "Delete the assignment to {{name}}?",
|
||
"deleteAssignmentError": "The assignment could not be deleted.",
|
||
"endDateColumn": "End date",
|
||
"personForm": {
|
||
"identity": "Personal details",
|
||
"contact": "Contact details",
|
||
"choosePhoto": "Add photo",
|
||
"changePhoto": "Change photo",
|
||
"photoHelp": "PNG, JPEG or WebP. The photo is applied when you save."
|
||
},
|
||
"photoOptional": "Photo",
|
||
"deleteRecord": {
|
||
"title": "Delete record",
|
||
"description": "This record and its history will be deleted. Related assets, resources, accounts and people will be preserved. This action cannot be undone.",
|
||
"pending": "Deleting…",
|
||
"error": "The record could not be deleted. Please try again."
|
||
},
|
||
"responsibleWorkstations": "Workstations under their responsibility",
|
||
"usedWorkstations": "Workstations they use",
|
||
"noResponsibleWorkstations": "This person is not responsible for any active workstation.",
|
||
"noUsedWorkstations": "This person has no active profiles on the main computers of active workstations.",
|
||
"workstationProfilesLoadError": "Profiles could not be loaded. Workstation usage cannot be determined.",
|
||
"software": {
|
||
"title": "Computer software",
|
||
"new": "Add installation",
|
||
"edit": "Edit installation",
|
||
"resource": "Software",
|
||
"type": "Type",
|
||
"os": "Operating system",
|
||
"application": "Application",
|
||
"description": "Record the current operating system and software installed on this computer.",
|
||
"help": "The installation belongs to the computer. Profile applications describe each person’s requirements and availability. The factory operating system remains on the asset. Programs are not installed and licenses are not consumed automatically.",
|
||
"noComputer": "Designate the workstation main computer first.",
|
||
"empty": "No installations recorded.",
|
||
"review": "Review: removal pending, computer or software unavailable, or linked license inactive or expired.",
|
||
"loadError": "Unable to load installations and resources.",
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check the installation details.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"SOFTWARE_CONFIGURATION_NOT_FOUND": "Installation not found.",
|
||
"SOFTWARE_REFERENCE_NOT_FOUND": "The computer, software or license does not belong to this company, or the resource type is invalid.",
|
||
"SOFTWARE_REFERENCE_UNAVAILABLE": "The computer is retired, the software is inactive, or the license is inactive or expired.",
|
||
"SOFTWARE_ALREADY_OPEN": "An open installation of this software already exists on this computer.",
|
||
"SOFTWARE_TARGET_IMMUTABLE": "The computer and resource cannot change.",
|
||
"INVALID_SOFTWARE_TRANSITION": "This state transition is not allowed.",
|
||
"INTERNAL_ERROR": "Unable to save the installation."
|
||
},
|
||
"examples": "Examples: Windows 11 Pro 24H2, Thunderbird 140 or Microsoft 365 Apps.",
|
||
"showClosed": "Include removed and never configured installations",
|
||
"newOs": "New operating system",
|
||
"license": "Linked license",
|
||
"licenseColumn": "License",
|
||
"noLicense": "No linked license",
|
||
"licenseHelp": "Informational reference to a license belonging to this company. It does not reserve seats or confirm coverage for this product or device. Leave it empty for free software or when the license is not yet known.",
|
||
"licenseUnavailable": "Unavailable"
|
||
},
|
||
"companyLabel": "Company",
|
||
"siteLifecycle": {
|
||
"active": "Active site",
|
||
"help": "Archiving a site preserves its associations and history. It is no longer available for new assignments and can be restored.",
|
||
"archive": "Archive",
|
||
"restore": "Restore",
|
||
"archived": "Archived",
|
||
"showArchived": "Also show archived sites",
|
||
"delete": "Delete site",
|
||
"deleteDescription": "“{{name}}” will be permanently deleted. This is only allowed if it has no associated records, including historical references. If it is in use, you can archive it."
|
||
}
|
||
},
|
||
"access": {
|
||
"helpTitle": "What is it and what is it for?",
|
||
"helpExamples": "Show examples and recommendations",
|
||
"helpButton": "Help",
|
||
"helpClose": "Close",
|
||
"helpGlobalScope": "Global scope: available to all companies. Only the definition is shared; accounts and access belong to each company.",
|
||
"helpCompanyScope": "Company scope: this element is only available in this company. You can also use global catalogue elements.",
|
||
"helpContent": {
|
||
"system": {
|
||
"description": "A system identifies the service or platform where accounts and access exist. It organizes related accounts, environments and groups.",
|
||
"examples": "Domain; Microsoft 365; ERP; Brevo; Zoom; Canva.",
|
||
"guidance": "Create the system before registering accounts. It is not an individual account and does not store credentials."
|
||
},
|
||
"resource_type": {
|
||
"description": "A resource type classifies elements people can access and determines which permissions apply.",
|
||
"examples": "Shared folder; application; printer.",
|
||
"guidance": "Define the type and its permissions first. Register an individual folder as a resource."
|
||
},
|
||
"permission": {
|
||
"description": "A permission defines an action available for a resource type. You can then grant it to an account or group.",
|
||
"examples": "Read or modify for folders; use for printers.",
|
||
"guidance": "Select the relevant resource type. Defining a permission does not grant access."
|
||
},
|
||
"template": {
|
||
"description": "A group template helps create similar groups across companies using a common name and description.",
|
||
"examples": "Administration; Management; Support.",
|
||
"guidance": "It copies initial values. Each company keeps its own members and access; later template changes do not propagate."
|
||
},
|
||
"environment": {
|
||
"description": "An environment distinguishes installations or scopes within the same system.",
|
||
"examples": "ERP → Production and Test; Domain → Office.",
|
||
"guidance": "Use it to distinguish accounts or groups in the same system. It belongs to this company."
|
||
},
|
||
"account": {
|
||
"description": "An account is the identity used to sign into a company system. It can be personal, shared or technical.",
|
||
"examples": "ana.garcia in Domain; administration@example.com in Microsoft 365; svc_backup as a technical account.",
|
||
"guidance": "Link the relevant people afterwards. Expiry is optional. Passwords are not stored and this does not grant access to Metis Desk."
|
||
},
|
||
"account_person": {
|
||
"description": "This relationship records who uses an account or is responsible for it, keeping periods and history.",
|
||
"examples": "Ana owns ana.garcia; Ana and Luis can use administration@example.com.",
|
||
"guidance": "Personal accounts have one owner; shared accounts allow several people; technical accounts may have a responsible person. Configuration records technical work."
|
||
},
|
||
"group": {
|
||
"description": "A group collects accounts from the same system to manage access together. It belongs to one company.",
|
||
"examples": "Administration domain group; Sales ERP group.",
|
||
"guidance": "You can start from a global template. Add accounts through memberships and grant permissions to the group. Nested groups are not supported."
|
||
},
|
||
"membership": {
|
||
"description": "A membership links an account to a group for a period and explains access obtained through that group.",
|
||
"examples": "ana.garcia joins the Administration group on arrival.",
|
||
"guidance": "Record whether configuration is pending or complete. Ending the period may leave actual access pending removal."
|
||
},
|
||
"resource": {
|
||
"description": "A resource is a specific element an account or group can access.",
|
||
"examples": "Administration folder at \\\\SERVER\\Administration; ERP application; Reception printer.",
|
||
"guidance": "Select its type, then record permission grants. This record does not configure the actual resource."
|
||
},
|
||
"grant": {
|
||
"description": "A grant records a permission given to an account or group on a specific resource.",
|
||
"examples": "Administration group → modify → Administration folder.",
|
||
"guidance": "Choose an account or group as the recipient. Authorization and technical configuration are recorded separately."
|
||
},
|
||
"need": {
|
||
"description": "A need describes the access a person requires for work and helps check whether accounts and groups provide it.",
|
||
"examples": "Ana needs read and modify access to the Administration folder.",
|
||
"guidance": "Select required permissions, then link coverage. Recording a need does not grant access."
|
||
},
|
||
"coverage": {
|
||
"description": "Coverage links a need to the access path providing its permissions: directly or through a group.",
|
||
"examples": "Ana's need is covered through ana.garcia → Administration group → modify permission.",
|
||
"guidance": "The path must be current and configured. Missing permissions or pending access mean the need still requires review."
|
||
},
|
||
"company": {
|
||
"description": "A company brings together the people, sites, accounts and resources managed for an organization.",
|
||
"examples": "Rivera Workshops; North Consulting.",
|
||
"guidance": "Active indicates whether it is in use. Its information is kept when deactivated."
|
||
},
|
||
"person": {
|
||
"description": "A person belongs to a company and may be a contact, use accounts and belong to departments.",
|
||
"examples": "Ana García; general position: Administration manager.",
|
||
"guidance": "This record does not grant access to Metis Desk. A person can belong to several departments with a different position in each."
|
||
},
|
||
"department": {
|
||
"description": "A department organizes people within a company.",
|
||
"examples": "Administration; Sales; Support.",
|
||
"guidance": "Add memberships from the person's record. Department membership does not grant computer access."
|
||
},
|
||
"site": {
|
||
"description": "A site represents a company location.",
|
||
"examples": "Head office; Warehouse; address: 12 Main Street, London; phone: +44 20 7946 0958.",
|
||
"guidance": "The address and phone are optional; the address supports multiple lines."
|
||
},
|
||
"assignment": {
|
||
"description": "An assignment records a person's department membership, position and period.",
|
||
"examples": "Ana → Administration → Accountant; also Purchasing → Manager.",
|
||
"guidance": "Department positions can differ from the general position. You can mark a primary department and keep history."
|
||
}
|
||
},
|
||
"quickAddPerson": "New person",
|
||
"quickAddEntry": "Add: {{name}}",
|
||
"quickGlobalNotice": "It will be saved in the global catalogue for all companies even if you cancel the main form.",
|
||
"quickExisting": "An active entry with this name already exists. You can select it without creating another.",
|
||
"quickUseExisting": "Use existing",
|
||
"quickAddSystem": "Add system",
|
||
"quickAddEnvironment": "Add environment",
|
||
"quickSaveSelect": "Save and select",
|
||
"quickEnvironmentContext": "System: {{name}}",
|
||
"quickCreateNotice": "It will be saved in this company's catalogue even if you later cancel the main form.",
|
||
"title": "Accounts and access",
|
||
"catalogTitle": "IT catalogs",
|
||
"catalogHelp": "Shared definitions for all companies. Companies can add their own entries.",
|
||
"workspaceHelp": "Accounts, groups, resources and needs for this company.",
|
||
"sections": "Account and access sections",
|
||
"newSystem": "New system",
|
||
"newResourceType": "New resource type",
|
||
"newPermission": "New permission",
|
||
"newTemplate": "New group template",
|
||
"newEnvironment": "New environment",
|
||
"newAccount": "New account",
|
||
"newAccountPerson": "Link person",
|
||
"newGroup": "New group",
|
||
"newMembership": "Add account to group",
|
||
"newResource": "New resource",
|
||
"newGrant": "Grant permission",
|
||
"newNeed": "New need",
|
||
"newCoverage": "Link coverage",
|
||
"name": "Name",
|
||
"active": "Active",
|
||
"inactive": "Inactive",
|
||
"state": "State",
|
||
"actions": "Actions",
|
||
"edit": "Edit",
|
||
"history": "History",
|
||
"global": "Global",
|
||
"search": "Search",
|
||
"empty": "No entries in this section yet.",
|
||
"choose": "Choose an option",
|
||
"save": "Save",
|
||
"saving": "Saving…",
|
||
"cancel": "Cancel",
|
||
"close": "Close",
|
||
"back": "Back to list",
|
||
"loading": "Loading…",
|
||
"retry": "Retry",
|
||
"systemId": "System",
|
||
"environmentId": "Environment",
|
||
"resourceTypeId": "Resource type",
|
||
"description": "Description",
|
||
"login": "Login identifier",
|
||
"usage": "Usage",
|
||
"expiresOn": "Expiration date",
|
||
"notes": "Notes",
|
||
"accountId": "Account",
|
||
"personId": "Person",
|
||
"groupId": "Group",
|
||
"identifier": "System identifier",
|
||
"templateId": "Global template",
|
||
"resourceId": "Resource",
|
||
"permissionId": "Permission",
|
||
"permissionIds": "Required permissions",
|
||
"reference": "Location or reference",
|
||
"needId": "Need",
|
||
"grantId": "Permission grant",
|
||
"accountPersonId": "Person's account relationship",
|
||
"membershipId": "Group membership",
|
||
"startDate": "Start date",
|
||
"endDate": "End date",
|
||
"configuration": "Configuration",
|
||
"personal": "Personal",
|
||
"shared": "Shared",
|
||
"technical": "Technical",
|
||
"pending": "Pending configuration",
|
||
"configured": "Configured",
|
||
"removal_pending": "Pending removal",
|
||
"removed": "Removed",
|
||
"never_configured": "Closed without configuration",
|
||
"open": "Open",
|
||
"covered": "Covered",
|
||
"notCovered": "Not covered",
|
||
"missingPermissions": "Missing permissions",
|
||
"review": "Review",
|
||
"actor": "Recorded by",
|
||
"yes": "Yes",
|
||
"no": "No",
|
||
"noPermissions": "Define permissions for the selected resource type first.",
|
||
"invalid": "Check required fields and formats.",
|
||
"accountHelp": "These accounts do not sign in to Metis Desk. System, environment and usage are fixed at creation. Passwords are not stored here.",
|
||
"coverageHelp": "Link a need to a grant and the person's account relationship. For a group grant, also select the account's membership.",
|
||
"templateHelp": "Templates help create groups. Changes do not update existing groups.",
|
||
"formHelp": "Changes retain their history. Without an end date, a relationship remains open.",
|
||
"configurationHelp": "Closing a configured relationship leaves removal pending. Save the closure first, then confirm removal once completed.",
|
||
"kinds": {
|
||
"system": "Systems",
|
||
"resource_type": "Resource types",
|
||
"permission": "Available permissions",
|
||
"template": "Group templates",
|
||
"environment": "Environments",
|
||
"account": "Accounts",
|
||
"account_person": "People and accounts",
|
||
"group": "Groups",
|
||
"membership": "Group members",
|
||
"resource": "Resources",
|
||
"grant": "Permission grants",
|
||
"need": "Needs",
|
||
"coverage": "Coverage"
|
||
},
|
||
"reviews": {
|
||
"incomplete": "Incomplete",
|
||
"expired": "Expired: review",
|
||
"inactive_person": "Inactive person: review",
|
||
"inactive_target": "Inactive or expired target: review",
|
||
"unjustified": "Access without covered need: review",
|
||
"uncovered": "Need not covered",
|
||
"pending_configuration": "Configuration pending",
|
||
"pending_removal": "Removal pending",
|
||
"inactive_catalog": "Inactive catalog entry: review"
|
||
},
|
||
"errors": {
|
||
"INVALID_REQUEST": "Check values and configuration state.",
|
||
"ACCESS_NOT_FOUND": "Entry not found.",
|
||
"COMPANY_NOT_FOUND": "Company not found.",
|
||
"ACCESS_CONFLICT": "A matching entry exists or periods overlap.",
|
||
"INACTIVE_TARGET": "Selected entry or person is inactive or expired.",
|
||
"IMMUTABLE_FIELDS": "Fixed fields and relationships cannot be changed.",
|
||
"SCOPE_MISMATCH": "Entries do not have compatible scope, system or environment.",
|
||
"UNAUTHENTICATED": "Sign in to continue.",
|
||
"FORBIDDEN": "This action is not allowed.",
|
||
"INTERNAL_ERROR": "The action could not be completed."
|
||
}
|
||
}
|
||
}
|