metis-desk/modules/companies/src/common/locales/en.json

1158 lines
63 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"companies": {
"navigation": {
"invalidRoute": "Invalid address",
"notFound": "Page not found",
"routeHelp": "Check the address or return to the dashboard."
},
"companyOverview": {
"title": "At a glance",
"description": "Status, pending work and alerts for {{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."
},
"intervention-templates": {
"title": "Intervention templates",
"description": "Reusable procedures for technical interventions."
},
"process-templates": {
"title": "Process templates",
"description": "Checklists for onboarding, changes and offboarding."
}
}
},
"interventionTemplates": {
"title": "Intervention templates",
"new": "New intervention template",
"edit": "Edit intervention template",
"description": "Description (optional)",
"steps": "Steps",
"addStep": "Add step",
"removeStep": "Remove step",
"stepTitle": "Step name",
"instructions": "Instructions (optional)",
"required": "Required check before completion",
"up": "Move step up",
"down": "Move step down",
"global": "Global",
"company": "This company",
"copy": "Copy template",
"copyOf": "Copy of",
"filter": "Find template",
"showInactive": "Show inactive",
"empty": "No matching templates.",
"scopeGlobal": "These templates are shared by all companies.",
"scopeCompany": "Browse global templates and create company variants. Edit global templates in Global catalogs.",
"help": "What is an intervention template for?",
"helpDescription": "Save a repeatable procedure as an ordered list of steps. Simple interventions can be recorded without a template.",
"helpScope": "A template is a procedure: it contains no people, accounts or specific company data.",
"examples": "Device replacement, email setup, employee departure or periodic checks.",
"guidance": "Add instructions when useful. Make only essential checks required. Deactivation retains history.",
"errors": {
"INVALID_REQUEST": "Review the name and steps. Include between 1 and 100 named steps.",
"TEMPLATE_CHANGED": "Someone else changed this template. Close and reopen the form to load the latest version.",
"TEMPLATE_NAME_EXISTS": "A template with this name already exists in this scope.",
"REQUEST_KEY_REUSED": "This request was already used with other data. Close and reopen the form.",
"TEMPLATE_NOT_FOUND": "This template is unavailable in this scope.",
"COMPANY_NOT_FOUND": "The company is unavailable.",
"INTERNAL_ERROR": "The operation failed. Try again.",
"FORBIDDEN": "Reload the page to authorize the operation.",
"UNAUTHENTICATED": "Your session expired. Sign in again."
}
},
"interventions": {
"resetFilters": "Clear filters",
"title": "Interventions",
"global": "All interventions",
"new": "New intervention",
"edit": "Edit intervention",
"details": "Intervention details",
"subject": "Subject",
"state": "State",
"ticket": "Ticket (optional)",
"internal": "Internal intervention, no ticket",
"fromTicket": "Create intervention",
"assignee": "Responsible technician",
"unassigned": "Unassigned",
"modality": "Modality",
"states": {
"pending": "Pending",
"in_progress": "In progress",
"finished": "Finished",
"cancelled": "Cancelled"
},
"modalities": {
"remote": "Remote",
"onsite": "On site",
"other": "Other"
},
"plannedDate": "Planned date (optional)",
"startedAt": "Actual start (optional)",
"endedAt": "Actual end (optional)",
"minutes": "Time spent (minutes, optional)",
"unknownTime": "Not recorded",
"timeHelp": "Time spent is recorded manually and may differ from elapsed time.",
"diagnosis": "Diagnosis (optional)",
"workPerformed": "Work performed",
"resolution": "Result / resolution (optional)",
"template": "Template (optional)",
"noTemplate": "No template",
"apply": "Apply template",
"newTemplate": "New template",
"templateNotice": "Applying replaces current steps. The copy can be adapted and retains the original template version.",
"source": "Source template",
"steps": "Steps",
"progress": "{{done}} of {{total}} steps done",
"addStep": "Add step",
"removeStep": "Remove step",
"notes": "Notes / reason for not applying",
"stepStates": {
"pending": "Pending",
"in_progress": "In progress",
"done": "Done",
"not_applicable": "Not applicable"
},
"search": "Find intervention",
"allCompanies": "All companies",
"allStates": "All states",
"allAssignees": "All technicians",
"dateFrom": "Planned from",
"dateTo": "Planned until",
"empty": "No matching interventions.",
"loading": "Loading interventions…",
"history": "Intervention history",
"completed": "Completed by {{actor}} · {{date}}",
"help": "What is an intervention for?",
"helpDescription": "Record technical work planned or performed for a company, linked to a ticket or initiated internally.",
"scope": "Simple work can have no steps. Templates copy a procedure; they do not configure devices or remove access automatically.",
"examples": "Reconfigure email, clear a printer jam or replace a laptop.",
"guidance": "To finish, enter a technician and work performed. Required steps must be done or marked not applicable with a reason. Finishing does not close the ticket.",
"errors": {
"INVALID_REQUEST": "Review the data. In progress or finished requires a technician. To finish, describe the work and complete required checks (or explain why they do not apply). Dates must be ordered and minutes nonnegative integers.",
"INTERVENTION_NOT_FOUND": "The intervention is unavailable in this company.",
"INTERVENTION_CHANGED": "Someone changed this intervention. Close and reopen the form.",
"TICKET_NOT_FOUND": "The ticket does not belong to this company.",
"TEMPLATE_UNAVAILABLE": "The template is inactive or unavailable for this company.",
"TEMPLATE_CHANGED": "The template changed. Refresh the options and apply it again.",
"TARGET_UNAVAILABLE": "An affected item is inactive or does not belong to the company.",
"ASSIGNEE_UNAVAILABLE": "The technician is unavailable for a new assignment.",
"REQUEST_KEY_REUSED": "This request was already used with different data. Close and reopen the form.",
"COMPANY_NOT_FOUND": "The company is unavailable.",
"UNAUTHENTICATED": "Your session expired. Sign in again.",
"FORBIDDEN": "Reload the page to authorize the operation.",
"INTERNAL_ERROR": "The operation failed. Try again."
}
},
"tickets": {
"title": "Tickets",
"global": "All tickets",
"new": "New ticket",
"edit": "Edit ticket",
"details": "Details and history",
"company": "Company",
"subject": "Subject",
"description": "Request description (optional)",
"requester": "Requester (optional)",
"assignee": "Assignee (optional)",
"channel": "Channel",
"state": "Status",
"priority": "Priority",
"affected": "Affected items",
"kind": "Item type",
"addTarget": "Add item",
"person": "Person",
"asset": "Asset",
"resource": "Resource",
"workstation": "Workstation",
"newTarget": "Create item",
"remove": "Remove item",
"unassigned": "Unassigned",
"choose": "Choose an item",
"all": "All",
"allCompanies": "All companies",
"allStates": "All statuses",
"allPriorities": "All priorities",
"allAssignees": "All assignees",
"search": "Search reference, subject, company or requester",
"empty": "No tickets match these filters.",
"loading": "Loading tickets…",
"reference": "Reference",
"created": "Created",
"updated": "Last change",
"history": "History",
"help": "What is a ticket for?",
"helpDescription": "Records a company's request or issue received by email, phone or internal initiative.",
"guidance": "The company is fixed after creation. The requester and affected items must belong to it. The assignee is a Metis Desk user. Changes preserve history.",
"examples": "Ana reports missing email; a manager requests preparing several workstations; an internal review finds an issue.",
"examplesLabel": "Examples and guidance",
"scope": "Tickets record the request. Interventions and time tracking will be added in a later release.",
"companyNotice": "Changing company before saving clears the requester and affected items.",
"inactive": "Inactive",
"loadError": "Tickets could not be loaded.",
"conflict": "This ticket changed. Close the form and reopen editing to review the current version.",
"channels": {
"email": "Email",
"phone": "Phone",
"internal": "Internal",
"other": "Other"
},
"states": {
"open": "Open",
"in_progress": "In progress",
"waiting": "Waiting",
"resolved": "Resolved",
"cancelled": "Cancelled"
},
"priorities": {
"low": "Low",
"normal": "Normal",
"high": "High",
"urgent": "Urgent"
},
"errors": {
"INVALID_REQUEST": "Check the form fields.",
"COMPANY_NOT_FOUND": "The company is unavailable.",
"TICKET_NOT_FOUND": "The ticket does not belong to this company or is unavailable.",
"REQUESTER_UNAVAILABLE": "Choose an active person in this company.",
"ASSIGNEE_UNAVAILABLE": "Choose an active Metis Desk user.",
"TARGET_UNAVAILABLE": "Affected items must be available and belong to this company.",
"TICKET_CHANGED": "This ticket changed. Close and reopen editing to review the current version.",
"REQUEST_KEY_REUSED": "This request key was already used with other data.",
"INTERNAL_ERROR": "The operation could not be completed."
}
},
"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 (optional)",
"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 (optional)",
"expiresOn": "Valid through (optional)",
"notes": "Notes (optional)",
"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",
"shared": "Shared within workstation",
"exclusive": "Exclusive within workstation",
"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 (optional)",
"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 (optional)",
"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 (optional)",
"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 (optional)",
"account": "Related IT account (optional)",
"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 (optional; 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 (optional)",
"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 (optional)",
"noAccount": "No recorded account",
"active": "Current profile",
"inactive": "Archived profile",
"choose": "Choose an item",
"notes": "Notes (optional)",
"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": "Choose a computer or another device hosting the person's configuration. The sign-in account is optional and must be authorized for this person when supplied. A current profile does not mean all its configurations are ready.",
"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 device 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_NOT_FOUND": "This profile is unavailable.",
"COMPANY_NOT_FOUND": "This company is unavailable.",
"INTERNAL_ERROR": "The operation could not be completed. Please try again."
}
},
"companySpaces": "Company spaces",
"globalCatalogs": "Global catalogs",
"dashboard": {
"title": "Home",
"description": "Summary of activity and situations that need attention",
"indicators": "Activity indicators",
"activeCompanies": "Active companies",
"openTickets": "Open tickets",
"pendingInterventions": "Pending interventions",
"registeredAssets": "Registered assets",
"registeredResources": "Registered resources",
"pendingWork": "Pending work",
"viewAll": "View all",
"partialWorkError": "Part of the pending work could not be loaded.",
"noPendingWork": "There are no pending tickets or interventions.",
"type": "Type",
"types": {
"ticket": "Ticket",
"intervention": "Intervention"
},
"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",
"pendingFilter": "Pending work only",
"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": {
"ticket": "New ticket",
"intervention": "New intervention",
"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 (optional)",
"emailOptional": "Email (optional)",
"phoneOptional": "Phone (optional)",
"activePerson": "Active person",
"inactivePerson": "Inactive person",
"isContact": "Company contact",
"personHelp": "This person cannot access Metis Desk. Their IT accounts will be managed separately.",
"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.",
"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 (optional)",
"startDate": "Start date",
"endDate": "End date (optional)",
"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 (optional)",
"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."
},
"shell": {
"catalogs": "Catalogs",
"tickets": "Tickets",
"interventions": "Interventions"
},
"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",
"photoOptional": "Photo (optional)"
},
"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.",
"guidance": "The address is optional and 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",
"optional": " (optional)",
"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."
}
}
}