metis-desk/modules/resources/src/common/locales/en.json
David 3ceac47cd6 feat: implement software installation management
- Add SoftwareInstallationValues value object for encapsulating software installation data.
- Create HTTP routes for managing software installations, including GET, POST, and DELETE operations.
- Implement Sequelize repository for software installations, handling database interactions.
- Add migration script for creating necessary database tables for software installations.
- Create persistence mapper for transforming between domain models and database rows.
- Define snapshot schema for software installations to ensure data consistency.
- Introduce common schemas for software installations to validate API requests and responses.
- Develop UI components for displaying and managing software installations, including history dialogs and forms.
- Implement API client for interacting with software installation endpoints.
- Write tests for software installations panel and form components to ensure functionality.
2026-10-12 20:31:21 +02:00

165 lines
8.2 KiB
JSON

{
"inventory": "Resources",
"mailboxKind": "Mailbox type",
"corporate": "Corporate",
"external": "External",
"relatedAccount": "Related account (optional)",
"resourceTypeId": "Access type",
"systemId": "System (optional)",
"environmentId": "Environment (optional)",
"newResource": "New resource",
"editResource": "Edit resource",
"viewResource": "Details and history",
"template": "Resource template",
"status": "Status",
"active": "Active",
"inactive": "Inactive",
"notes": "Notes (optional)",
"characteristics": "Characteristics",
"chooseValue": "Select a value",
"noValue": "No data",
"history": "History",
"recordedBy": "Recorded by {{name}}",
"snapshotNotice": "This record retains the template fields captured when the resource was created.",
"resourceDescription": "Register a mailbox, shared folder, application, certificate, software license or assistance tool for this company.",
"resourceExamples": "Examples: admin@company.com, Administration folder, corporate Zoom, signing certificate or Microsoft 365 subscription.",
"resourceGuidance": "Characteristics are optional unless the template requires them. Never store passwords or private keys.",
"resourceScope": "This record identifies the company resource. Availability and device configuration are managed separately.",
"licenseDescription": "Register a software license or subscription contracted by this company.",
"licenseExamples": "Examples: Microsoft 365 Business Standard per user, ESET Endpoint per device or a perpetual ERP license.",
"licenseGuidance": "All fields are optional. Contracted quantity records seats or units covered by the contract. Expiration and renewal dates may differ; perpetual licenses may have no expiration. Do not enter activation keys.",
"licenseScope": "The application used and its contracted license are separate resources. This record does not allocate seats or calculate remaining capacity.",
"relatedNotice": "The template remains saved if you later cancel the resource.",
"inventoryErrors": {
"INVALID_REQUEST": "Check the form data.",
"INVALID_EMAIL": "Enter a valid email address.",
"CONTEXT_FIXED": "The resource type and context cannot change.",
"REFERENCE_UNAVAILABLE": "Select valid references from this company.",
"INVALID_CHARACTERISTICS": "A characteristic is not part of the template or has an invalid value.",
"REQUIRED_CHARACTERISTICS": "Complete the required template characteristics.",
"TEMPLATE_FIXED": "A resource's template cannot change.",
"TEMPLATE_UNAVAILABLE": "Select an active resource template from this scope.",
"NAME_EXISTS": "A resource with this name and template already exists in this company.",
"RESOURCE_NOT_FOUND": "Resource not found.",
"COMPANY_NOT_FOUND": "Company not found.",
"FORBIDDEN": "Your session does not allow this operation. Sign in again.",
"UNAUTHENTICATED": "Sign in again.",
"INTERNAL_ERROR": "The operation could not be completed."
},
"yes": "Yes",
"no": "No",
"title": "Resource catalog",
"companyTitle": "Resource catalog",
"introduction": "Define the characteristics and templates used when registering resources.",
"companyIntroduction": "Use global definitions and add those needed by this company.",
"fields": "Fields",
"templates": "Templates",
"newField": "New field",
"editField": "Edit field",
"newTemplate": "New template",
"templateUsage": "Template use",
"templateUsageHelp": "Allows resources to be used as profile applications, operating systems, certificates or remote assistance tools. Usage is fixed after template creation.",
"usage": {
"general": "General",
"application": "Application",
"certificate": "Digital certificate",
"support": "Remote assistance",
"os": "Operating system"
},
"editTemplate": "Edit template",
"name": "Name",
"description": "Description (optional)",
"type": "Data type",
"unit": "Unit (optional)",
"choices": "List values",
"choicesHelp": "Enter one value per line. Existing values are retained; you can add others.",
"text": "Text",
"number": "Number",
"date": "Date",
"boolean": "Yes / No",
"choice": "List of values",
"activate": "Activate",
"deactivate": "Deactivate",
"inherited": "Global configuration",
"overridden": "Customized for this company",
"reset": "Use global configuration",
"builtin": "Built in",
"global": "Global",
"own": "Company",
"custom": "Custom",
"origin": "Origin",
"actions": "Actions",
"edit": "Edit",
"copy": "Create copy",
"copyName": "{{name}} (copy)",
"fieldCount": "{{count}} fields",
"search": "Search",
"empty": "No results.",
"loading": "Loading catalog…",
"retry": "Retry",
"save": "Save",
"saving": "Saving…",
"cancel": "Cancel",
"selectField": "Add a field to the template",
"choose": "Select a field",
"addField": "New field",
"required": "Required",
"chooseType": "Select a type",
"view": "View",
"close": "Close",
"viewDefinition": "{{name}}",
"optional": "Optional",
"remove": "Remove field: {{name}}",
"noFields": "Add at least one field. All fields are initially optional.",
"fieldHelpText": "Help text (optional)",
"fieldHelpHint": "Shown next to the field when creating or editing a resource.",
"protected": "Built-in templates and fields can be edited in the global catalog. A field's data type remains fixed. You can change availability or create a template copy for a company.",
"helpTitle": "What is it for?",
"examplesLabel": "Show examples and guidance",
"fieldDescription": "A field describes an resource characteristic. You can reuse it in several templates.",
"fieldExamples": "Examples: Email address (text), Expiry (date), URL (text) or Provider (text).",
"fieldGuidance": "Add a unit only when useful. Never store passwords or secrets. The data type is fixed after creation.",
"templateDescription": "A template groups the fields displayed for an resource type. It is not a specific mailbox, folder, application or certificate.",
"templateExamples": "Mailbox: address and provider. Shared folder: UNC path. Certificate: holder, issuer and expiry.",
"templateGuidance": "Characteristics are optional by default. Require only information that is always known. Removing a template field does not delete its catalog definition.",
"globalHelp": "Global scope: available to all companies.",
"companyHelp": "Company scope: additions and availability changes affect this company only.",
"disabledField": "Inactive field: retained in this template.",
"disabledFieldsNotice": "This template contains inactive fields. You can activate them in the catalog before using it.",
"quickNotice": "The field remains saved if you later cancel the template.",
"errors": {
"INVALID_REQUEST": "Check the form data.",
"INVALID_CHOICES": "A list needs unique non-empty values. Other data types do not accept list values.",
"INVALID_FIELDS": "The template needs distinct valid fields.",
"NAME_EXISTS": "A definition of this type already has this name.",
"FIELD_UNAVAILABLE": "Only active global or company fields can be added.",
"FIELD_TYPE_FIXED": "The data type and template use cannot change; existing list values cannot be removed.",
"BUILTIN_PROTECTED": "Built-in fields cannot be edited.",
"DEFINITION_NOT_FOUND": "This definition is unavailable in this scope.",
"COMPANY_NOT_FOUND": "Company not found.",
"INTERNAL_ERROR": "The operation could not be completed.",
"FORBIDDEN": "Your session does not allow this operation. Sign in again.",
"UNAUTHENTICATED": "Sign in again.",
"INVALID_SECTIONS": "Sections must have unique names and each field must belong to a section of this template."
},
"sections": {
"title": "Template sections",
"add": "Add section",
"name": "Section name",
"description": "Description (optional)",
"ungrouped": "Unsectioned",
"moveUp": "Move up",
"moveDown": "Move down",
"remove": "Remove section",
"removeField": "Remove field",
"required": "Required",
"assign": "Section",
"help": "Organize fields without changing their values or requirements. Removing a section moves its fields to Unsectioned.",
"empty": "This section has no fields yet."
},
"formLayout": {
"identity": "Resource identification",
"template": "Template details"
}
}