Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

576 lines
23 KiB
JSON

{
"common": {
"actions": {
"save": "Guardar configuración",
"saving": "Guardando...",
"reset": "Restablecer",
"refresh": "Actualizar",
"close": "Cerrar",
"edit": "Editar",
"delete": "Eliminar",
"deleting": "Eliminando…",
"verify": "Verificar"
},
"states": {
"active": "Activo",
"inactive": "Inactivo",
"loading": "Cargando..."
}
},
"telemetry": {
"loading": {
"title": "Configuración de telemetría de la organización",
"description": "Cargando..."
},
"empty": {
"title": "Configuración de telemetría de la organización",
"description": "Error al cargar la configuración",
"body": "No se pudo cargar la configuración de telemetría"
},
"page": {
"title": "Telemetría y análisis de la organización",
"description": "Configure los ajustes de telemetría para toda su organización. La telemetría está habilitada por defecto para mejorar la plataforma, pero los usuarios pueden excluirse individualmente a menos que desactive esta opción."
},
"toggles": {
"enableTelemetry": {
"title": "Habilitar telemetría",
"description": "Permitir la recopilación de datos de uso anónimos para mejorar la plataforma (habilitada por defecto)"
},
"allowUserOptOut": {
"title": "Permitir exclusión del usuario",
"description": "Permitir que los usuarios individuales se excluyan de la recopilación de telemetría"
}
},
"alerts": {
"enabled": "✓ Telemetría habilitada. Todas las categorías están habilitadas por defecto para los nuevos usuarios, pero pueden excluirse individualmente si lo desean.",
"centralizedControl": "Control centralizado: los usuarios no pueden excluirse individualmente. Asegúrese de cumplir con las normativas locales de privacidad."
},
"anonymization": {
"title": "Nivel de anonimización de datos",
"description": "Elija cuánto anonimizar los datos antes de recopilarlos",
"options": {
"none": {
"title": "Sin anonimización",
"description": "Recopilar los datos tal como están (no recomendado)"
},
"partial": {
"title": "Anonimización parcial",
"description": "Eliminar PII, conservar los ID de correlación"
},
"full": {
"title": "Anonimización completa",
"description": "Máxima privacidad, mínima correlación"
}
}
},
"compliance": {
"title": "Notas de cumplimiento"
},
"privacy": {
"collectTitle": "Qué recopilamos",
"collectItems": {
"errors": "• Información de errores (sin datos sensibles)",
"performance": "• Métricas de rendimiento (tiempos de carga de página, tiempos de respuesta de API)",
"usage": "• Patrones de uso de funciones (qué funciones se utilizan)",
"system": "• Métricas del sistema (para optimización de la infraestructura)"
},
"excludeTitle": "Qué NO recopilamos",
"excludeItems": {
"personalInfo": "• Información personal (nombres, correos electrónicos, direcciones)",
"clientData": "• Datos de clientes o información comercial",
"passwords": "• Contraseñas o tokens de autenticación",
"files": "• Contenido de archivos o documentos"
}
},
"footer": {
"lastUpdated": "Última actualización: {{value}}",
"updatedBy": " por {{user}}"
},
"errors": {
"loadTenantTelemetrySettings": "No se pudo cargar la configuración de telemetría de la organización",
"loadSettings": "No se pudo cargar la configuración",
"saveTelemetrySettings": "No se pudo guardar la configuración de telemetría",
"saveSettings": "No se pudo guardar la configuración"
}
},
"email": {
"loading": "Cargando configuración de correo...",
"error": "Error: {{error}}",
"tabs": {
"inbound": "Correo entrante",
"outbound": "Correo saliente"
},
"descriptions": {
"outbound": "Configure los ajustes SMTP o API para enviar correos desde su aplicación",
"inbound": "Configure los proveedores de correo para recibir y procesar correos como tickets"
},
"providerConfig": {
"title": "Configuración del proveedor de correo",
"providerLabel": "Proveedor de correo",
"options": {
"smtp": "SMTP (servidor de correo tradicional)",
"resend": "Resend (servicio API moderno)"
},
"placeholder": "Seleccione el proveedor de correo",
"descriptions": {
"smtp": "Configure los ajustes tradicionales del servidor de correo SMTP",
"resend": "Configure la API de Resend para un envío de correo moderno"
},
"status": {
"provider": "Proveedor {{provider}}"
}
},
"smtp": {
"host": {
"label": "Host SMTP",
"placeholder": "smtp.example.com"
},
"port": {
"label": "Puerto",
"placeholder": "587"
},
"username": {
"label": "Nombre de usuario",
"placeholder": "tu-correo@example.com"
},
"password": {
"label": "Contraseña",
"placeholder": "Introduzca la contraseña"
},
"fromAddress": {
"label": "Dirección del remitente",
"placeholder": "noreply@example.com"
}
},
"resend": {
"apiKey": {
"label": "Clave API de Resend",
"placeholder": "re_xxxxxxxxxxxxxxxxxx",
"helpPrefix": "Obtenga su clave API en"
},
"fromAddress": {
"label": "Dirección del remitente",
"placeholder": "noreply@yourdomain.com",
"help": "Debe pertenecer a un dominio verificado. Use la pestaña Dominios para agregar dominios personalizados."
}
},
"domains": {
"verified": "Verificado",
"failed": "Fallido",
"pending": "Pendiente",
"requiredDnsRecords": "Registros DNS requeridos:"
},
"general": {
"title": "Configuración general",
"trackingEnabled": "Habilitar seguimiento de correo",
"dailyLimit": "Límite diario de correos"
},
"errors": {
"loadEmailSettings": "No se pudo cargar la configuración de correo",
"saveSettings": "No se pudo guardar la configuración",
"addDomain": "No se pudo agregar el dominio",
"verifyDomain": "No se pudo verificar el dominio"
}
},
"microsoft365": {
"title": {
"microsoft": "Diagnósticos de Microsoft 365",
"default": "Diagnósticos"
},
"description": "Ejecuta una comprobación de Graph en vivo (incluida la creación y eliminación de suscripciones) para diagnosticar problemas de buzón, carpeta y permisos.",
"note": {
"label": "Nota:",
"body": "Los diagnósticos crearán una suscripción temporal de Microsoft Graph y luego la eliminarán. Si la eliminación falla, puede que deba quitar manualmente la suscripción en Microsoft 365."
},
"labels": {
"provider": "Proveedor:",
"mailbox": "Buzón:",
"overall": "General:",
"resource": "Recurso: {{resource}}",
"recommendations": "Recomendaciones",
"error": "Error"
},
"actions": {
"copySupportBundle": "Copiar paquete de soporte",
"copied": "Copiado"
},
"states": {
"running": "Ejecutando diagnósticos...",
"diagnosticsFailed": "Los diagnósticos fallaron"
},
"statuses": {
"pass": "Aprobado",
"warn": "Aviso",
"fail": "Fallido",
"skip": "Omitido"
}
},
"inboundDefaults": {
"loading": "Cargando valores predeterminados de tickets...",
"header": {
"title": "Valores predeterminados de tickets entrantes",
"description": "Configure los valores predeterminados para los tickets creados a partir del procesamiento de correos"
},
"actions": {
"addDefaults": "Agregar valores predeterminados"
},
"form": {
"editTitle": "Editar valores predeterminados del ticket",
"createTitle": "Crear valores predeterminados del ticket",
"description": "Configure los valores predeterminados que se aplicarán a los tickets creados a partir del procesamiento de correos"
},
"empty": {
"title": "No hay valores predeterminados de tickets configurados",
"description": "Cree su primera configuración para definir valores predeterminados para tickets generados por correo"
},
"badges": {
"active": "Activo",
"inactive": "Inactivo"
},
"fields": {
"board": "Tablero:",
"status": "Estado:",
"priority": "Prioridad:",
"enteredBy": "Introducido por:"
},
"fallbacks": {
"notSet": "No establecido",
"system": "Sistema"
},
"menu": {
"edit": "Editar",
"delete": "Eliminar",
"deleting": "Eliminando…"
},
"help": {
"title": "Cómo funciona",
"items": {
"providerReference": "• Cada proveedor de correo puede hacer referencia a una configuración de valores predeterminados de tickets",
"requiredValues": "• Cuando un correo crea un ticket, estos valores predeterminados proporcionan los campos requeridos",
"systemCreator": "• Los tickets generados por el sistema mostrarán \"Sistema\" como creador cuando entered_by sea nulo",
"scenarios": "• Puede crear diferentes valores predeterminados para distintos escenarios de correo (soporte, facturación, etc.)"
}
},
"errors": {
"load": "No se pudieron cargar los valores predeterminados de tickets",
"delete": "No se pudieron eliminar los valores predeterminados de tickets"
}
},
"policyManagement": {
"resourceSections": {
"tickets": "Tickets",
"documents": "Documentos",
"time": "Tiempo",
"projects": "Proyectos",
"assets": "Activos",
"billing": "Facturación"
},
"targetTypes": {
"role": "Rol",
"team": "Equipo",
"user": "Usuario",
"apiKey": "Clave API"
},
"templateSummaries": {
"own": "registros propiedad del principal",
"assigned": "registros asignados al principal",
"managed": "registros propiedad de usuarios gestionados",
"ownOrAssigned": "registros propiedad o asignados al principal",
"ownOrManaged": "registros propiedad del principal o de usuarios gestionados",
"sameClient": "registros en el mismo ámbito de cliente",
"clientPortfolio": "registros del portafolio de clientes del principal",
"selectedClients": "registros en los ámbitos de cliente seleccionados",
"sameTeam": "registros propiedad del mismo equipo",
"selectedBoards": "registros en los tableros seleccionados"
},
"constraintSummaries": {
"notSelfApprover": "bloquea la autoaprobación",
"clientVisibleOnly": "requiere registros visibles para el cliente",
"hideSensitiveFields": "redacta campos sensibles"
},
"dates": {
"unknown": "Desconocido"
},
"ruleSummary": {
"base": "Restringir {{action}} de {{resourceType}} a {{scope}}.",
"withConstraint": "Restringir {{action}} de {{resourceType}} a {{scope}}; {{constraint}}."
},
"upsell": {
"title": "Paquetes de autorización",
"description": "La gestión avanzada de paquetes de autorización está disponible en el nivel Premium. Actualice para gestionar paquetes de restricción reutilizables."
},
"hero": {
"badge": "Espacio de trabajo Premium",
"title": "Paquetes de autorización",
"subtitle": "Gestione la restricción de acceso premium con revisiones en borrador, asignaciones acotadas y simulación segura desde un único centro de control.",
"newBundle": "Nuevo paquete",
"addStarters": "Añadir paquetes iniciales",
"addingStarters": "Añadiendo paquetes iniciales..."
},
"metrics": {
"activeBundles": {
"title": "Paquetes activos",
"subtitle": "Paquetes de restricción reutilizables disponibles para asignar"
},
"activeAssignments": {
"title": "Asignaciones activas",
"subtitle": "Implementaciones activas en roles, equipos, usuarios y claves API"
},
"starterBundles": {
"title": "Paquetes iniciales",
"subtitle": "Preajustes basados en relaciones listos para adaptar"
},
"archivedBundles": {
"title": "Paquetes archivados",
"subtitle": "Paquetes retirados conservados para auditoría y reutilización"
}
},
"library": {
"eyebrow": "Biblioteca",
"title": "Biblioteca de paquetes de autorización",
"description": "Explore el estado de los paquetes, gestione cambios de ciclo de vida y abra un espacio de trabajo enfocado para un paquete a la vez.",
"searchPlaceholder": "Buscar paquetes por nombre o descripción",
"showArchived": "Mostrar archivados",
"columns": {
"bundle": "Paquete",
"status": "Estado",
"type": "Tipo",
"assignments": "Asignaciones",
"updated": "Actualizado",
"actions": "Acciones"
},
"statusLabels": {
"active": "activo",
"archived": "archivado"
},
"typeLabels": {
"system": "Sistema",
"custom": "Personalizado"
},
"badges": {
"starter": "Inicial"
},
"descriptions": {
"systemStarter": "Paquete inicial del sistema.",
"customBundle": "Paquete de restricción personalizado para asignaciones de rol, equipo, usuario o clave API."
},
"effectiveSummary": "Resumen efectivo: paquete {{status}} con {{count}} asignación(es) activa(s).",
"empty": "No se encontraron paquetes de autorización.",
"loading": "Cargando paquetes de autorización...",
"actions": {
"openEditor": "Abrir editor",
"assignments": "Asignaciones",
"simulator": "Simulador",
"clone": "Clonar",
"archive": "Archivar",
"openMenu": "Abrir menú"
}
},
"workspace": {
"backToLibrary": "Volver a la biblioteca",
"updatedWithAssignments": "Actualizado el {{date}} · {{count}} asignación(es) activa(s)",
"eyebrow": "Espacio de trabajo del paquete",
"fallbackBundleName": "Paquete seleccionado",
"fallbackDescription": "Use el editor de borrador, el administrador de asignaciones y el simulador para implementar cambios de restricción de forma segura.",
"tabs": {
"editor": "Editor de borrador",
"assignments": "Asignaciones",
"simulator": "Simulador"
}
},
"editor": {
"header": "Editor del paquete",
"editingDraftPrefix": "Editando la revisión en borrador de ",
"editingDraftSuffix": ". Los cambios permanecen en borrador hasta que se publican.",
"viewingPublishedPrefix": "Viendo la revisión publicada de ",
"viewingPublishedSuffix": ". Actualmente no existe ninguna revisión en borrador activa.",
"publishDraft": "Publicar borrador",
"publishing": "Publicando...",
"publishedBadge": "Publicado",
"loading": "Cargando editor de borrador...",
"revisionSummary": "Resumen de la revisión: {{summary}}",
"ruleCount": "{{count}} regla(s) {{revisionType}}",
"revisionType": {
"draft": "en borrador",
"published": "publicada"
},
"emptyRules": "Aún no hay reglas {{revisionType}} para {{resource}}.",
"ruleForm": {
"addDraftTitle": "Añadir regla en borrador",
"editDraftTitle": "Editar regla en borrador",
"createDraftTitle": "Crear regla en borrador",
"editPublishedTitle": "Editar regla publicada como borrador",
"helperEditPublished": "Al guardar se creará una nueva revisión en borrador con sus cambios sobre esta regla publicada.",
"helperCreateDraft": "Al guardar se creará una nueva revisión en borrador para este paquete.",
"reset": "Restablecer",
"action": "Acción",
"template": "Plantilla",
"constraint": "Restricción (opcional)",
"constraintNone": "ninguna",
"saveDraftRule": "Guardar regla en borrador",
"addDraftRule": "Añadir regla en borrador",
"saveAsDraftChange": "Guardar como cambio en borrador",
"createDraftRule": "Crear regla en borrador"
},
"rule": {
"edit": "Editar",
"remove": "Eliminar",
"removeAsDraft": "Eliminar como cambio en borrador",
"removeDraftTooltip": "Eliminar esta regla en borrador.",
"removePublishedTooltip": "Crear una nueva revisión en borrador que elimine esta regla publicada.",
"selectedClientScopes": "Ámbitos de cliente seleccionados",
"selectedBoardScopes": "Ámbitos de tablero seleccionados",
"redactedFields": "Campos redactados"
},
"scopes": {
"clientTitle": "Ámbitos de cliente seleccionados",
"boardTitle": "Ámbitos de tablero seleccionados",
"selectClient": "Seleccionar cliente",
"selectBoard": "Seleccionar tablero",
"addClientScope": "Añadir ámbito de cliente",
"addBoardScope": "Añadir ámbito de tablero",
"noClientScopes": "Aún no se han añadido ámbitos de cliente.",
"noBoardScopes": "Aún no se han añadido ámbitos de tablero.",
"remove": "Eliminar"
},
"redaction": {
"label": "Campos redactados",
"placeholder": "internal_cost, margin",
"helper": "Nombres de campo separados por comas que se redactarán cuando esta regla permita el acceso."
}
},
"assignments": {
"header": "Administrador de asignaciones",
"description": "Vea y gestione los objetivos de rol, equipo, usuario y clave API actualmente afectados por este paquete.",
"loading": "Cargando asignaciones...",
"addAssignment": "Añadir asignación",
"selectTargetPlaceholder": "Seleccionar {{target}}",
"addButton": "Añadir asignación",
"adding": "Añadiendo...",
"empty": "Aún no hay asignaciones para este paquete.",
"groupEmpty": "No hay asignaciones de {{target}}.",
"statusActions": {
"disable": "Deshabilitar",
"enable": "Habilitar",
"saving": "Guardando..."
},
"statusLabels": {
"active": "activa",
"disabled": "deshabilitada"
}
},
"simulator": {
"header": "Simulador de acceso",
"description": "Simule el comportamiento del paquete en borrador frente al publicado contra un principal real y un registro existente.",
"inputTitle": "Entrada de simulación",
"resource": "Recurso",
"action": "Acción",
"principal": "Usuario",
"record": "Registro",
"useSynthetic": "Usar escenario de registro sintético",
"syntheticOwnerPlaceholder": "ID de usuario propietario (opcional)",
"syntheticClientPlaceholder": "ID de cliente (opcional)",
"syntheticBoardPlaceholder": "ID de tablero (opcional)",
"clientVisible": "Visible para el cliente",
"run": "Ejecutar simulación",
"running": "Ejecutando simulación...",
"resultTitle": "Resultado de la simulación",
"draftRevision": "Revisión en borrador",
"publishedRevision": "Revisión publicada",
"allowed": "Permitido",
"denied": "Denegado",
"empty": "Ejecute una simulación para comparar el comportamiento del borrador y el publicado."
},
"createDialog": {
"title": "Crear paquete de autorización",
"cancel": "Cancelar",
"create": "Crear paquete",
"creating": "Creando...",
"nameLabel": "Nombre",
"namePlaceholder": "Revisor de Finanzas Oeste",
"descriptionLabel": "Descripción",
"descriptionPlaceholder": "Paquete de restricción reutilizable para un equipo, grupo de clientes o flujo de trabajo específico."
},
"clone": {
"copySuffix": "{{name}} copia"
},
"errors": {
"loadBundles": "No se pudieron cargar los paquetes.",
"loadEditor": "No se pudo cargar el editor del paquete.",
"loadAssignments": "No se pudieron cargar las asignaciones del paquete.",
"cloneBundle": "No se pudo clonar el paquete.",
"archiveBundle": "No se pudo archivar el paquete.",
"seedStarters": "No se pudieron sembrar los paquetes iniciales.",
"bundleNameRequired": "El nombre del paquete es obligatorio.",
"createBundle": "No se pudo crear el paquete.",
"publishDraft": "No se pudo publicar el borrador del paquete.",
"selectTemplate": "Seleccione una plantilla antes de guardar una regla.",
"selectClientRequired": "Añada al menos un cliente seleccionado antes de guardar esta regla.",
"selectBoardRequired": "Añada al menos un tablero seleccionado antes de guardar esta regla.",
"redactedFieldRequired": "Introduzca al menos un campo redactado antes de guardar esta regla.",
"saveRule": "No se pudo guardar la regla en borrador.",
"removeRule": "No se pudo eliminar la regla.",
"selectTarget": "Seleccione un objetivo antes de añadir una asignación.",
"addAssignment": "No se pudo añadir la asignación.",
"updateAssignmentStatus": "No se pudo actualizar el estado de la asignación.",
"selectPrincipal": "Seleccione un principal antes de ejecutar la simulación.",
"selectRecord": "Seleccione un registro antes de ejecutar la simulación.",
"runSimulation": "No se pudo ejecutar la simulación.",
"simulator": {
"unsupportedAction": "El simulador actualmente solo admite comprobaciones de Lectura y Aprobación. Elija una de esas acciones y vuelva a intentarlo.",
"unsupportedResource": "Este tipo de registro aún no está disponible en el simulador. Elija un tipo de registro compatible y vuelva a intentarlo.",
"clientTicketNotSupported": "Las comprobaciones de tickets para usuarios cliente aún no están disponibles en el simulador porque la visibilidad del tablero de tickets no está incluida. Pruebe con un usuario interno o verifique el acceso de tickets de cliente en la aplicación."
}
}
},
"emailLogs": {
"page": {
"title": "Registros de correo electrónico",
"description": "Revise la actividad de correo electrónico saliente y solucione problemas de entrega de notificaciones."
},
"metrics": {
"totalSent": "Total enviados",
"failedRate": "Tasa de fallos",
"today": "Hoy"
},
"filters": {
"startDate": "Fecha de inicio",
"endDate": "Fecha de fin",
"status": "Estado",
"recipient": "Destinatario",
"recipientPlaceholder": "Buscar Email…",
"ticket": "Ticket",
"ticketPlaceholder": "Ticket #…",
"statusOptions": {
"all": "Todos",
"sent": "Enviado",
"failed": "Fallido"
}
},
"table": {
"time": "Hora",
"ticket": "Ticket",
"recipient": "Destinatario",
"subject": "Asunto",
"status": "Estado"
},
"loading": "Cargando…",
"results_one": "{{count}} resultado",
"results_other": "{{count}} resultados",
"refresh": "Actualizar",
"close": "Cerrar",
"detail": {
"title": "Detalles del registro de correo electrónico",
"noSubject": "Sin asunto",
"sentAt": "Enviado el",
"status": "Estado",
"provider": "Proveedor",
"messageId": "ID de mensaje",
"to": "Para",
"from": "De",
"error": "Error",
"metadata": "Metadatos"
}
}
}