PSA/server/public/locales/es/msp/extensions.json
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

351 lines
16 KiB
JSON

{
"navigation": {
"heading": "Extensiones"
},
"enterpriseFeature": {
"title": "Función empresarial",
"description": "La edición Enterprise es necesaria para {{feature}}. Actualice para acceder a esta función."
},
"settings": {
"title": "Gestión de extensiones",
"description": "Instale, configure y administre extensiones para ampliar la funcionalidad de Alga PSA.",
"tabs": {
"manage": "Administrar",
"install": "Instalar"
},
"enterpriseOnly": {
"title": "Función empresarial",
"description": "Las extensiones están disponibles en la edición Enterprise de Alga PSA."
},
"links": {
"needLogs": "¿Necesita registros de extensiones?",
"debugConsole": "Abrir consola de depuración de demostración del proxy de servicio"
},
"loading": {
"extensions": "Cargando extensiones...",
"installer": "Cargando instalador..."
},
"featureNames": {
"settings": "configuración de extensiones",
"details": "detalles de la extensión",
"permissions": "permisos de la extensión",
"management": "gestión de extensiones",
"installer": "instalador de extensiones"
},
"heading": "Configuración de la extensión",
"notFound": "Extensión no encontrada",
"notFoundDescription": "La extensión que busca no existe o no tiene acceso a ella.",
"backToExtensions": "Volver a extensiones",
"nameSuffix": "Configuración de {{name}}",
"resetToDefaults": "Restablecer valores predeterminados",
"saveChanges": "Guardar cambios",
"confirmReset": "¿Está seguro de que desea restablecer toda la configuración a sus valores predeterminados?",
"cardTitle": "Configuración de la extensión",
"cardDescription": "Configure los ajustes de esta extensión. Estos ajustes serán utilizados por la extensión para personalizar su comportamiento.",
"noConfigurable": "Esta extensión no tiene ajustes configurables.",
"customConfig": {
"title": "Configuración personalizada",
"description": "Agregue valores de configuración personalizados para esta extensión. Se proporcionan a la extensión junto con los ajustes definidos arriba.",
"empty": "Sin entradas de configuración personalizadas.",
"addEntry": "Agregar entrada",
"keyPlaceholder": "Clave (p. ej., MY_API_KEY)",
"valuePlaceholder": "Valor",
"markSensitive": "Marcar como sensible",
"markPublic": "Marcar como público"
},
"schedules": {
"title": "Programaciones",
"description": "Configure tareas programadas para esta extensión invocando un endpoint de API declarado en el manifiesto en una programación cron. En las actualizaciones de extensiones, las programaciones se reasignan por método/ruta del endpoint; las actualizaciones pueden bloquearse si se elimina un endpoint programado.",
"loading": "Cargando programaciones…",
"noEndpoints": "Esta extensión no declara ningún endpoint de API, por lo que no hay nada que programar.",
"endpoint": "Endpoint",
"cron": "Cron",
"timezone": "Zona horaria",
"selectEndpoint": "Seleccione un endpoint",
"payloadLabel": "Carga útil (JSON, opcional)",
"payloadHelp": "Para los endpoints GET, la carga útil se ignora. Para los endpoints POST, la carga útil se convierte en el cuerpo de la solicitud. Evite incluir secretos en las cargas útiles; en su lugar, utilice la configuración/secretos de la extensión.",
"create": "Crear programación",
"creating": "Creando...",
"refresh": "Actualizar",
"empty": "No hay programaciones configuradas.",
"lastStatus": " • último: {{status}}",
"save": "Guardar",
"cancel": "Cancelar",
"edit": "Editar",
"runNow": "Ejecutar ahora",
"delete": "Eliminar",
"confirmDelete": "¿Eliminar esta programación?"
},
"secrets": {
"title": "Valores de secretos",
"descriptionPrefix": "Los secretos se cifran en reposo.",
"descriptionHasStored": "Deje un campo en blanco para conservar el secreto existente.",
"descriptionNoStored": "Proporcione valores para los secretos requeridos antes de guardar.",
"version": "Versión: {{version}}",
"valuePlaceholder": "Ingrese el valor del secreto",
"storedHint": "Secreto almacenado presente. Ingrese un nuevo valor para rotarlo."
},
"selectOption": "Seleccione una opción"
},
"communityEdition": {
"listUnavailable": "Las extensiones no están disponibles en esta edición",
"dynamicListUnavailable": "Las extensiones no están disponibles en la Community Edition",
"dynamicInstallUnavailable": "La instalación de extensiones no está disponible en la Community Edition"
},
"page": {
"metadata": {
"title": "Extensiones",
"description": "Administrar extensiones"
},
"title": "Extensiones",
"description": "La gestión de extensiones está disponible en la edición Enterprise."
},
"detail": {
"metadataTitle": "Extensiones - Función empresarial",
"extensionId": "ID de la extensión: {{id}}"
},
"runtime": {
"metadataTitle": "Extensión",
"loadError": "No se pudo cargar la información de ejecución de la extensión",
"notFoundTitle": "Extensión no encontrada.",
"goToExtensions": "Ir a extensiones",
"bundleUnavailableTitle": "El paquete de la extensión no está disponible.",
"bundleUnavailableDescription": "El paquete de la extensión falta o no se ha cargado.",
"goToDetails": "Ir a los detalles de la extensión",
"runtimeDomainUnavailableTitle": "El dominio de ejecución de la extensión no está disponible.",
"runtimeDomainUnavailableDescription": "Vuelva a aprovisionar la extensión desde Configuración -> Extensiones -> seleccione la extensión -> Aprovisionar."
},
"detailsPage": {
"metadata": {
"title": "Detalles de la extensión",
"description": "Ver detalles de la extensión"
},
"title": "Detalles de la extensión",
"description": "Los detalles de la extensión están disponibles en la edición Enterprise."
},
"settingsPage": {
"metadata": {
"title": "Configuración de extensiones",
"description": "Configurar la extensión"
},
"title": "Configuración de extensiones",
"description": "La configuración de extensiones está disponible en la edición Enterprise."
},
"details": {
"label": "Detalles de la extensión",
"fallbackTitle": "Detalles de la extensión",
"notFoundTitle": "Extensión no encontrada",
"enabled": "Habilitada",
"disabled": "Deshabilitada",
"settings": "Configuración",
"disable": "Deshabilitar",
"enable": "Habilitar",
"remove": "Eliminar",
"loading": "Cargando detalles de la extensión...",
"error": "Error",
"sectionInfo": "Información de la extensión",
"runtimeDomain": "Dominio de ejecución",
"open": "Abrir",
"copy": "Copiar",
"provision": "Aprovisionar",
"description": "Descripción",
"version": "Versión",
"author": "Autor",
"unknownAuthor": "Desconocido",
"homepage": "Página principal",
"license": "Licencia",
"installedDate": "Fecha de instalación",
"lastUpdated": "Última actualización",
"sectionPermissions": "Permisos",
"noPermissions": "Esta extensión no requiere ningún permiso.",
"sectionVersions": "Versiones",
"loadingVersions": "Cargando versiones…",
"noVersions": "No hay versiones publicadas disponibles.",
"colVersion": "Versión",
"colPublished": "Publicada",
"colContentHash": "Hash de contenido",
"colInstalled": "Instalada",
"yes": "Sí",
"no": "No",
"sectionComponents": "Componentes",
"noComponents": "Esta extensión no define ningún componente.",
"colType": "Tipo",
"colId": "ID",
"colEntryPoint": "Punto de entrada",
"colMountPoint": "Punto de montaje",
"infoTitle": "Información de la extensión",
"infoInstalled": "Esta extensión se instaló el {{installedDate}} y se actualizó por última vez el {{updatedDate}}.",
"infoRefreshHint": "Es posible que habilitar o deshabilitar la extensión requiera actualizar la página para que los cambios surtan efecto.",
"settingsCountOne": "Esta extensión tiene {{count}} ajuste configurable.",
"settingsCountOther": "Esta extensión tiene {{count}} ajustes configurables.",
"manageSettings": "Administrar configuración",
"removeTitle": "Eliminar extensión",
"removeMessage": "¿Está seguro de que desea eliminar esta extensión? Esta acción no se puede deshacer.",
"confirmRemove": "Eliminar",
"cancel": "Cancelar"
},
"detailsModal": {
"description": "Descripción",
"version": "Versión",
"author": "Autor",
"unknownAuthor": "Desconocido",
"status": "Estado",
"enabled": "Habilitada",
"disabled": "Deshabilitada",
"created": "Creada",
"lastUpdated": "Última actualización",
"extensionId": "ID de la extensión",
"settingsComingSoon": "La configuración de la extensión estará disponible en la próxima actualización.",
"settings": "Configuración",
"disable": "Deshabilitar",
"enable": "Habilitar",
"remove": "Eliminar",
"removeTitle": "Eliminar extensión",
"removeMessage": "¿Está seguro de que desea eliminar esta extensión? Esta acción no se puede deshacer.",
"confirmRemove": "Eliminar",
"cancel": "Cancelar"
},
"simple": {
"heading": "Extensiones",
"loading": "Cargando extensiones...",
"error": "Error",
"emptyTitle": "No hay extensiones instaladas",
"emptyDescription": "Instale extensiones para agregar nuevas características y funcionalidad a Alga PSA.",
"colExtension": "Extensión",
"colVersion": "Versión",
"colAuthor": "Autor",
"colStatus": "Estado",
"colActions": "Acciones",
"unknownAuthor": "Desconocido",
"enabled": "Habilitada",
"disabled": "Deshabilitada",
"view": "Ver",
"settings": "Configuración",
"settingsComingSoon": "La configuración de la extensión estará disponible en la próxima actualización.",
"disable": "Deshabilitar",
"enable": "Habilitar",
"remove": "Eliminar",
"removeFailed": "Error al eliminar la extensión",
"toggleDisableFailed": "Error al deshabilitar la extensión",
"toggleEnableFailed": "Error al habilitar la extensión",
"loadFailed": "Error al cargar las extensiones",
"removeTitle": "Eliminar extensión",
"removeMessage": "¿Está seguro de que desea eliminar esta extensión? Esta acción no se puede deshacer.",
"confirmRemove": "Eliminar",
"cancel": "Cancelar"
},
"list": {
"label": "Gestión de extensiones",
"heading": "Extensiones",
"loading": "Cargando extensiones...",
"error": "Error",
"loadFailed": "Error al cargar las extensiones",
"emptyTitle": "No hay extensiones instaladas",
"emptyDescription": "Instale extensiones para agregar nuevas características y funcionalidad a Alga PSA.",
"colExtension": "Extensión",
"colVersion": "Versión",
"colAuthor": "Autor",
"colDomain": "Dominio",
"colActions": "Acciones",
"enabled": "Habilitada",
"disabled": "Deshabilitada",
"view": "Ver",
"settings": "Configuración",
"provision": "Aprovisionar",
"disable": "Deshabilitar",
"enable": "Habilitar",
"remove": "Eliminar",
"debug": "Depurar",
"removeTitle": "Eliminar extensión",
"removeMessage": "¿Está seguro de que desea eliminar esta extensión? Esta acción no se puede deshacer.",
"confirmRemove": "Eliminar",
"cancel": "Cancelar",
"dialogVersion": "Versión:",
"dialogAuthor": "Autor:",
"dialogDomain": "Dominio:",
"dialogStatus": "Estado:"
},
"installer": {
"title": "Instalar extensión",
"description": "Elija un paquete firmado e instálelo.",
"bundleLabel": "Paquete de extensión (.tar.zst)",
"bundleHint": "El manifiesto se extraerá automáticamente del paquete.",
"advancedOptions": "Opciones avanzadas",
"customManifestLabel": "Manifiesto personalizado (anulación opcional)",
"customManifestPlaceholder": "Deje en blanco para usar el manifiesto del paquete o pegue aquí un manifest.json personalizado",
"manifestJsonLabel": "JSON del manifiesto",
"manifestJsonPlaceholder": "Pegue aquí el contenido del manifest.json",
"browse": "Examinar",
"manifestExtractFailed": "No se pudo extraer el manifiesto del paquete. Proporciónelo manualmente.",
"install": "Instalar",
"installing": "Instalando…",
"reset": "Restablecer",
"finalize": "Finalizar",
"finalizing": "Finalizando…",
"cancel": "Cancelar",
"manageExtensions": "Administrar extensiones",
"installAnother": "Instalar otra",
"error": "Error",
"installed": "Extensión instalada",
"installedName": "{{name}} v{{version}}",
"uploadNoKey": "La carga fue exitosa pero no se devolvió ninguna clave",
"manifestMissing": "No se pudo extraer un manifiesto válido del paquete.",
"finalizeError": "Error inesperado al finalizar la instalación",
"installCompleteError": "Extensión finalizada, pero la instalación no se completó",
"installUnexpected": "Error inesperado durante la instalación",
"finalizeRequireManifest": "Pegue el JSON del manifiesto antes de finalizar.",
"finalizeProvidedFailed": "Error al finalizar con el manifiesto proporcionado"
},
"installSimple": {
"title": "Instalar extensión",
"heading": "Instalación de la extensión",
"description": "Use el instalador completo de extensiones para opciones avanzadas."
},
"clientPortal": {
"loadError": "No se pudo cargar la información de ejecución de la extensión",
"notFoundTitle": "Extensión no encontrada.",
"backToDashboard": "Volver al panel",
"bundleUnavailableTitle": "El paquete de la extensión no está disponible.",
"bundleUnavailableDescription": "El paquete de la extensión falta o no se ha cargado.",
"runtimeDomainUnavailableTitle": "El dominio de ejecución de la extensión no está disponible.",
"runtimeDomainUnavailableDescription": "El dominio de la extensión no está aprovisionado."
},
"messages": {
"loadSettingsFailed": "Error al cargar la configuración de la extensión.",
"refreshSchedulesFailed": "Error al actualizar las programaciones.",
"requiredSecretsMissing": "Proporcione valores para los secretos requeridos antes de guardar.",
"enterSecretValues": "Introduzca los valores de los secretos antes de guardar.",
"invalidCustomKey": "Las claves personalizadas solo pueden contener letras, números, guiones bajos, puntos y guiones.",
"saveSettingsFailed": "Error al guardar la configuración de la extensión.",
"updateSecretsFailed": "Error al actualizar los secretos de la extensión.",
"secretsUpdated": "Secretos de la extensión actualizados.",
"settingsSaved": "Configuración de la extensión guardada correctamente.",
"resetSettingsFailed": "Error al restablecer la configuración de la extensión.",
"settingsReset": "Configuración restablecida a los valores predeterminados.",
"invalidPayloadJson": "La carga útil debe ser JSON válido.",
"createScheduleFailed": "Error al crear la programación.",
"scheduleCreated": "Programación creada.",
"updateScheduleFailed": "Error al actualizar la programación.",
"scheduleUpdated": "Programación actualizada.",
"runScheduleFailed": "Error al ejecutar la programación.",
"scheduleRunEnqueued": "Ejecución de la programación en cola.",
"deleteScheduleFailed": "Error al eliminar la programación.",
"scheduleDeleted": "Programación eliminada.",
"toggleFailed": "Error al actualizar el estado de la extensión",
"extensionEnabled": "Extensión habilitada",
"extensionDisabled": "Extensión deshabilitada",
"enableFailed": "Error al habilitar la extensión",
"disableFailed": "Error al deshabilitar la extensión",
"removeFailed": "Error al eliminar la extensión",
"extensionRemoved": "Extensión eliminada",
"reprovisionFailed": "Error al reaprovisionar",
"manifestReadFailed": "Error al leer el archivo de manifiesto",
"invalidBundleExtension": "El archivo debe terminar con \".tar.zst\": {{filename}}"
},
"debug": {
"scopeToOneInstall": "Limitar a una instalación",
"overrideTenantContext": "Anular contexto de tenant",
"matchRequestId": "Coincidir x-request-id / context.request_id"
}
}