- Added migration scripts for mail configurations and revisions. - Created persistence mapper for mail configurations and revisions. - Developed Sequelize repository for mail configuration management. - Introduced common schemas and types for mail configurations. - Implemented API for fetching and saving mail configurations. - Built React components for mail configuration forms and pages. - Added internationalization support for mail-related texts in English and Spanish. - Implemented feedback mechanism for API errors in mail components. - Created tests for mail configuration components and functionality.
119 lines
5.4 KiB
TypeScript
119 lines
5.4 KiB
TypeScript
export const mailSpanish = {
|
|
title: "Correos en dispositivos",
|
|
new: "Configurar correo",
|
|
edit: "Editar configuración",
|
|
empty: "Todavía no hay correos registrados en dispositivos.",
|
|
search: "Buscar correo, persona o dispositivo…",
|
|
person: "Persona",
|
|
account: "Cuenta informática",
|
|
asset: "Dispositivo",
|
|
choose: "Selecciona un valor",
|
|
address: "Dirección de correo",
|
|
method: "Método de acceso",
|
|
state: "Estado",
|
|
notes: "Notas (opcional)",
|
|
pop: "POP",
|
|
imap: "IMAP",
|
|
exchange: "Exchange",
|
|
other: "Otro",
|
|
pending: "Pendiente de configurar",
|
|
configured: "Configurado",
|
|
removal_pending: "Pendiente de retirar",
|
|
removed: "Retirado",
|
|
never_configured: "No llegó a configurarse",
|
|
review: "Revisar acceso: autorización, persona, cuenta o dispositivo no vigente.",
|
|
noAuthorization:
|
|
"Autoriza esta cuenta para la persona antes de guardar una configuración activa.",
|
|
authorize: "Autorizar cuenta para esta persona",
|
|
newAccount: "Nueva cuenta",
|
|
newAsset: "Nuevo dispositivo",
|
|
newPerson: "Nueva persona",
|
|
history: "Historial",
|
|
help: "¿Para qué sirve esta configuración?",
|
|
description:
|
|
"Registra qué correo está configurado en cada dispositivo de una persona y cómo se accede a él.",
|
|
examplesLabel: "Ejemplos y recomendaciones",
|
|
examples:
|
|
"Ana: ana@empresa.es por IMAP en su portátil y por Exchange en su móvil; ventas@empresa.es también en el portátil.",
|
|
guidance:
|
|
"La autorización de la cuenta se gestiona por separado. Al retirar un correo, confirma primero que se ha eliminado del dispositivo. No introduzcas contraseñas.",
|
|
scope:
|
|
"Puedes registrar varias cuentas por persona y varios dispositivos por cuenta. Los cambios conservan el historial.",
|
|
fixed:
|
|
"Persona, cuenta y dispositivo quedan fijados. Para cambiar alguno, retira esta configuración y crea otra.",
|
|
errors: {
|
|
INVALID_REQUEST: "Revisa los campos; introduce una dirección de correo válida.",
|
|
MAIL_SCOPE_MISMATCH: "La persona, cuenta y dispositivo deben pertenecer a esta compañía.",
|
|
MAIL_NOT_AUTHORIZED:
|
|
"La persona necesita una autorización vigente sobre esta cuenta y un dispositivo disponible.",
|
|
MAIL_CONFIGURATION_EXISTS:
|
|
"Ya hay una configuración abierta para esta persona, cuenta y dispositivo.",
|
|
MAIL_TARGET_IMMUTABLE: "Para cambiar persona, cuenta o dispositivo, crea otra configuración.",
|
|
INVALID_MAIL_TRANSITION:
|
|
"El cambio de estado no es válido. Un correo configurado pasa primero a pendiente de retirar.",
|
|
MAIL_CONFIGURATION_NOT_FOUND: "La configuración no está disponible en esta compañía.",
|
|
COMPANY_NOT_FOUND: "La compañía no está disponible.",
|
|
UNAUTHENTICATED: "La sesión ha caducado. Vuelve a entrar.",
|
|
FORBIDDEN: "Recarga la página para autorizar la operación.",
|
|
INTERNAL_ERROR: "No se ha podido completar la operación. Inténtalo de nuevo.",
|
|
},
|
|
};
|
|
export const mailEnglish = {
|
|
title: "Email on devices",
|
|
new: "Configure email",
|
|
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 access: authorization, person, account or device 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:
|
|
"Account authorization is managed separately. Confirm removal from the device before marking it removed. Do not enter passwords.",
|
|
scope:
|
|
"Multiple accounts per person and multiple devices per account are supported. Changes retain history.",
|
|
fixed:
|
|
"Person, account and device are fixed. To change any of them, remove this configuration and create another.",
|
|
errors: {
|
|
INVALID_REQUEST: "Review the fields; enter a valid email address.",
|
|
MAIL_SCOPE_MISMATCH: "Person, account and device must belong to this company.",
|
|
MAIL_NOT_AUTHORIZED:
|
|
"The person needs a current account authorization and an available device.",
|
|
MAIL_CONFIGURATION_EXISTS:
|
|
"An open configuration already exists for this person, account and device.",
|
|
MAIL_TARGET_IMMUTABLE: "Create another configuration to change person, account or device.",
|
|
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.",
|
|
},
|
|
};
|