{
  "LOADING": "Cargando...",
  "MENU": {
    "OVERVIEW": "Resumen",
    "QUEUES": "COLAS",
    "SEARCH_INPUT_PLACEHOLDER": "Filtrar colas",
    "PAUSED": "Pausada",
    "EXPAND_ALL": "Expandir todos los grupos",
    "COLLAPSE_ALL": "Colapsar todos los grupos",
    "EXPAND_SIDEBAR": "Expandir barra lateral",
    "COLLAPSE_SIDEBAR": "Colapsar barra lateral",
    "METRICS_HISTORY": "Historial de métricas",
    "SCHEDULERS": "Programaciones"
  },
  "DASHBOARD": {
    "JOBS_COUNT_one": "{{count}} Tarea",
    "JOBS_COUNT_many": "{{count}} Tareas",
    "JOBS_COUNT_other": "{{count}} Tareas",
    "JOBS_COUNT": "{{count}} Tareas",
    "EMPTY_STATE": "No hay colas para mostrar.",
    "EMPTY_STATE_FILTERED": "No hay colas con trabajos {{status}}.",
    "SORTING": {
      "TITLE": "Ordenar por",
      "FAILED": "Trabajos fallidos",
      "DELAYED": "Trabajos retrasados",
      "WAITING": "Trabajos en espera",
      "ACTIVE": "Trabajos activos",
      "COMPLETED": "Trabajos completados",
      "ALPHABETICAL": "Alfabético (A-Z)"
    },
    "VIEW": {
      "TITLE": "Vista",
      "FLAT": "Plano",
      "GROUPED": "Agrupado"
    }
  },
  "JOB": {
    "DELAY_CHANGED": "*Retraso modificado; el nuevo tiempo de ejecución es actualmente desconocido",
    "NOT_FOUND": "Tarea no encontrada",
    "STATUS": "Estado: {{status}}",
    "ADDED_AT": "Añadida el",
    "WILL_RUN_AT": "Se ejecutará el",
    "DELAYED_FOR": "retrasada por",
    "PROCESS_STARTED_AT": "Proceso iniciado el",
    "PROCESSED_BY": "por {{processedBy}}",
    "FAILED_AT": "Falló el",
    "FINISHED_AT": "Finalizada el",
    "ATTEMPTS": "intento #{{attempts}}",
    "REPEAT": "repetir {{count}}",
    "REPEAT_WITH_LIMIT": "$t(JOB.REPEAT) / {{limit}}",
    "DURATION": {
      "SECS": "{{duration}} segundos",
      "MILLI_SECS": "{{duration}} milisegundos"
    },
    "SHOW_DATA_BTN": "Mostrar datos",
    "SHOW_PROGRESS_BTN": "Mostrar progreso",
    "SHOW_OPTIONS_BTN": "Mostrar opciones",
    "SHOW_ERRORS_BTN": "Mostrar errores",
    "NA": "N/A",
    "NO_PROGRESS": "No hay datos de progreso disponibles",
    "NO_ERRORS": "No se registraron errores",
    "NO_LOGS": "No hay registros disponibles",
    "LOGS": {
      "FILTER_PLACEHOLDER": "Filtros"
    },
    "ACTIONS": {
      "PROMOTE": "Promover",
      "CLEAN": "Limpiar",
      "RETRY": "Reintentar",
      "UPDATE_DATA": "Actualizar datos",
      "DUPLICATE": "Duplicar",
      "CONFIRM": {
        "PROMOTE": "¿Estás seguro de que quieres promover esta tarea?",
        "RETRY": "¿Estás seguro de que quieres reintentar esta tarea?",
        "CLEAN": "¿Estás seguro de que quieres limpiar esta tarea?",
        "REMOVE_JOB_SCHEDULER_TITLE": "¿Eliminar toda la programación?",
        "REMOVE_JOB_SCHEDULER": "Este trabajo es la próxima ejecución del programador \"{{schedulerId}}\" y no se puede eliminar por sí solo. Eliminar el programador detiene la programación y borra este trabajo."
      }
    },
    "TABS": {
      "DEFAULT": "Predeterminado",
      "DATA": "Datos",
      "PROGRESS": "Progreso",
      "OPTIONS": "Opciones",
      "LOGS": "Registros",
      "ERROR": "Error",
      "TIMELINE": "Línea de tiempo"
    }
  },
  "QUEUE": {
    "NOT_FOUND": "Cola no encontrada",
    "EMPTY_STATE": "No hay trabajos {{status}} en esta cola.",
    "ACTIONS": {
      "MODAL_TITLE": "",
      "RETRY_ALL": "Reintentar todas",
      "RETRY_ALL_FAILED": "Reintentar las {{count}} tareas fallidas",
      "RETRY_FAILED_IN_ALL_QUEUES": "Reintentar {{count}} tareas fallidas de todas las colas",
      "RETRY_FAILED_IN_GROUP": "Reintentar {{count}} tareas fallidas del grupo",
      "PROMOTE_ALL": "Promover todas",
      "CLEAN_ALL": "Limpiar todas",
      "RESUME": "Reanudar",
      "PAUSE": "Pausar",
      "RESUME_ALL": "Reanudar todo",
      "PAUSE_ALL": "Pausar todo",
      "EMPTY": "Vaciar",
      "OBLITERATE": "Obliterar",
      "ADD_JOB": "Añadir tarea",
      "SET_CONCURRENCY": "Establecer concurrencia",
      "CONFIRM": {
        "RETRY_ALL": "¿Estás seguro de que quieres reintentar todas las tareas {{status}}?",
        "RETRY_FAILED_QUEUES": "¿Estás seguro de que quieres reintentar {{jobs}} tareas fallidas de {{count}} colas?",
        "CLEAN_ALL": "¿Estás seguro de que quieres limpiar todas las tareas {{status}}?",
        "PROMOTE_ALL": "¿Estás seguro de que quieres promover todas las tareas retrasadas?",
        "PAUSE_QUEUE": "¿Estás seguro de que quieres pausar el procesamiento de la cola?",
        "EMPTY_QUEUE": "¿Estás seguro de que quieres vaciar la cola?",
        "OBLITERATE_QUEUE": "¿Estás seguro de que quieres obliterar esta cola?\n\nEsto eliminará completamente la cola y todas sus claves de Redis.\nLa cola debe estar pausada primero.",
        "RESUME_QUEUE": "¿Estás seguro de que quieres reanudar el procesamiento de la cola?",
        "PAUSE_ALL": "¿Estás seguro de que deseas pausar todas las colas?",
        "RESUME_ALL": "¿Estás seguro de que deseas reanudar todas las colas?",
        "PAUSE_GROUP": "¿Estás seguro de que quieres pausar todas las {{count}} colas de este grupo?",
        "RESUME_GROUP": "¿Estás seguro de que quieres reanudar todas las {{count}} colas de este grupo?"
      },
      "TOAST": {
        "RETRY_PENDING": "Reintentando todas las tareas {{status}}...",
        "RETRY_DONE": "Todas las tareas {{status}} volvieron a la cola",
        "RETRY_SKIPPED": "Se omitieron {{count}} ids sin datos de tarea detrás. Los datos suelen perderse por una política de expulsión de Redis distinta de noeviction.",
        "RETRY_QUEUES_PENDING": "Reintentando {{jobs}} tareas fallidas de {{count}} colas...",
        "RETRY_QUEUES_DONE": "{{jobs}} tareas fallidas de {{count}} colas volvieron a sus colas"
      },
      "PAUSE_GROUP": "Pausar todas las colas del grupo",
      "RESUME_GROUP": "Reanudar todas las colas del grupo",
      "GROUP_ACTIONS": "Acciones de grupo"
    },
    "STATUS": {
      "LATEST": "Recientes",
      "ACTIVE": "Activas",
      "WAITING": "En espera",
      "WAITING-CHILDREN": "Esperando subtareas",
      "PRIORITIZED": "Priorizadas",
      "COMPLETED": "Completadas",
      "FAILED": "Fallidas",
      "DELAYED": "Retrasadas",
      "PAUSED": "Pausadas"
    },
    "INFO": {
      "TITLE": "Información de la cola",
      "OVERVIEW": "Resumen",
      "NAME": "Nombre",
      "DISPLAY_NAME": "Nombre mostrado",
      "TYPE": "Tipo",
      "STATE": "Estado",
      "RUNNING": "En ejecución",
      "PAUSED": "En pausa",
      "READ_ONLY": "Solo lectura",
      "RETRIES": "Reintentos permitidos",
      "GLOBAL_CONCURRENCY": "Concurrencia global",
      "WORKERS": "Workers",
      "DELIMITER": "Delimitador de grupo",
      "TOTAL_JOBS": "Total de trabajos",
      "DEFAULTS": "Opciones de trabajo predeterminadas",
      "DESCRIPTION": "Descripción",
      "NOT_SET": "No establecido",
      "YES": "Sí",
      "NO": "No"
    },
    "SCHEDULERS_LINK": "Programaciones ({{count}})",
    "WORKERS": {
      "TITLE": "Workers conectados",
      "NONE": "Sin workers",
      "NONE_TOOLTIP": "Nada está consumiendo esta cola",
      "CONNECTED": "conectado {{since}}",
      "EMPTY": "Nada está consumiendo esta cola.",
      "EMPTY_HINT": "Comprueba que haya un proceso worker en marcha y apuntando al mismo Redis.",
      "EMPTY_PAUSED": "Esta cola está pausada, así que no se esperan workers."
    }
  },
  "METRICS": {
    "TITLE": "Rendimiento (trabajos / min)",
    "COMPLETED": "Completados",
    "FAILED": "Fallidos",
    "COMPLETED_PER_MIN": "Completados / min",
    "FAILED_PER_MIN": "Fallidos / min",
    "PEAK_PER_MIN": "Pico / min",
    "WINDOW_COMPLETED": "Completados (últimos {{minutes}} min)",
    "NOW": "Ahora",
    "MINUTES_AGO": "hace {{minutes}} min",
    "PER_MIN_UNIT": "/min",
    "SHOW": "Mostrar métricas",
    "HIDE": "Ocultar métricas",
    "EMPTY": "Aún no se han recopilado métricas. Habilita las métricas en tu worker (ej. metrics: { maxDataPoints: MetricsTime.ONE_WEEK }) para ver el rendimiento.",
    "RANGE_60M": "60m",
    "RANGE_7D": "7d",
    "RANGE_30D": "30d",
    "RANGE_90D": "90d",
    "HISTORY_EMPTY": "Aún no hay historial registrado para este intervalo.",
    "DAILY_COMPLETED": "Total completados",
    "DAILY_FAILED": "Total fallidos",
    "PARTIAL_PERIOD": "Este período todavía está en curso.",
    "TAB_THROUGHPUT": "Rendimiento",
    "TAB_LATENCY": "Latencia",
    "P95_RUN_TIME": "Ejecución p95",
    "P95_WAIT_TIME": "Espera p95",
    "NOT_AVAILABLE": "n/d"
  },
  "LATENCY": {
    "TITLE": "Latencia de trabajos",
    "GROUP_RUN": "Ejecución",
    "GROUP_WAIT": "Espera",
    "RUN_P50": "Ejecución p50",
    "RUN_P95": "Ejecución p95",
    "RUN_P99": "Ejecución p99",
    "WAIT_P50": "Espera p50",
    "WAIT_P95": "Espera p95",
    "WAIT_P99": "Espera p99",
    "QUEUE_AGE": "Trabajo más antiguo en espera",
    "P50": "p50",
    "P95": "p95",
    "P99": "p99",
    "LOG_SCALE_NOTE": "escala logarítmica",
    "LOW_CONFIDENCE": "Confianza baja: {{count}} muestras",
    "LOW_CONFIDENCE_one": "Confianza baja: {{count}} muestra",
    "LOW_CONFIDENCE_many": "Confianza baja: {{count}} muestras",
    "LOW_CONFIDENCE_other": "Confianza baja: {{count}} muestras",
    "EMPTY_NO_DATA": "Aún no se han registrado datos de latencia para este intervalo.",
    "EMPTY_NO_COMPLETIONS": "Esta cola no ha completado ningún trabajo en este intervalo.",
    "HOURLY_GRANULARITY_ONLY": "El historial de latencia se registra con granularidad horaria, por lo que no hay nada que mostrar en los últimos 60 minutos. Cambia a 7d, 30d o 90d para verlo."
  },
  "CONFIRM": {
    "DEFAULT_TITLE": "¿Estás seguro?",
    "CONFIRM_BTN": "Confirmar",
    "CANCEL_BTN": "Cancelar"
  },
  "MODAL": {
    "CLOSE_BTN": "Cerrar"
  },
  "REDIS": {
    "TITLE": "Detalles de Redis",
    "TITLE_POSTGRES": "Detalles de PostgreSQL",
    "PORT": "Puerto",
    "MEMORY_USAGE": "Uso de memoria",
    "PEEK_MEMORY": "Pico de uso de memoria",
    "FRAGMENTATION_RATIO": "Ratio de fragmentación",
    "CONNECTED_CLIENTS": "Clientes conectados",
    "BLOCKED_CLIENTS": "Clientes bloqueados",
    "VERSION": "Versión",
    "MODE": "Modo",
    "OS": "Sistema operativo",
    "UP_TIME": "Tiempo de actividad",
    "ERROR": {
      "MEMORY_USAGE": "No se pudieron recuperar las estadísticas de memoria"
    }
  },
  "SETTINGS": {
    "TITLE": "Configuración",
    "LANGUAGE": "Idioma",
    "POLLING_INTERVAL": "Intervalo de sondeo",
    "POLLING_OPTIONS": {
      "OFF": "Desactivado",
      "SECS": "{{count}} segundos",
      "MINS": "{{count}} minutos",
      "MINS_one": "{{count}} minuto",
      "MINS_many": "{{count}} minutos",
      "MINS_other": "{{count}} minutos"
    },
    "DEFAULT_JOB_TAB": "Pestaña de tarea predeterminada",
    "JOBS_PER_PAGE": "Tareas por página (1-50)",
    "CONFIRM_QUEUE_ACTIONS": "Confirmar acciones de cola",
    "CONFIRM_JOB_ACTIONS": "Confirmar acciones de tarea",
    "USE_COLLAPSIBLE_JSON": "Usar JSON plegable",
    "COLLAPSE_JOB": "Contraer tarea",
    "COLLAPSE_JOB_DATA": "Contraer datos de tarea",
    "COLLAPSE_JOB_PROGRESS": "Contraer progreso de tarea",
    "COLLAPSE_JOB_OPTIONS": "Contraer opciones de tarea",
    "COLLAPSE_JOB_ERROR": "Contraer error de tarea",
    "DEFAULT_COLLAPSE_DEPTH": "Profundidad de colapso JSON predeterminada (0-10)",
    "SORT_QUEUES": "Ordenar colas (A-Z, grupos primero)",
    "DARK_MODE": "Modo oscuro",
    "SECTIONS": {
      "GENERAL": "General",
      "QUEUES": "Colas",
      "JOBS": "Trabajos"
    },
    "GROUP_QUEUES": "Agrupar colas por categoría",
    "GROUP_QUEUES_HELP": "Divide la vista general en secciones plegables a partir del delimitador en los nombres de las colas, la misma agrupación que usa la barra lateral."
  },
  "CONCURRENCY": {
    "TITLE": "Concurrencia global",
    "DESCRIPTION": "Número máximo de trabajos procesados en paralelo en todos los workers. Establecer a 0 para eliminar el límite.",
    "CONCURRENCY": "Concurrencia",
    "SAVE": "Guardar"
  },
  "ADD_JOB": {
    "TITLE": "Añadir tarea",
    "TITLE_duplicate": "Duplicar tarea",
    "QUEUE_NAME": "Nombre de la cola",
    "JOB_NAME": "Nombre de la tarea",
    "JOB_DATA": "Datos de la tarea",
    "JOB_OPTIONS": "Opciones de la tarea",
    "ADD": "Añadir",
    "DUPLICATE": "Duplicar"
  },
  "UPDATE_JOB_DATA": {
    "TITLE": "Actualizar datos de la tarea",
    "UPDATE": "Actualizar",
    "JOB_DATA": "Datos de la tarea"
  },
  "CLIPBOARD": {
    "COPY_FAILED": "No se pudo copiar al portapapeles. Es posible que tu navegador no admita esta función o que la página no se sirva a través de HTTPS."
  },
  "ERRORS": {
    "INTERNAL_SERVER_ERROR": "Error interno del servidor",
    "INVALID_BEFORE_DATE": "Valor de before no válido: se esperaba YYYY-MM-DD",
    "INVALID_CONCURRENCY": "Valor de concurrencia no válido",
    "INVALID_DATE_RANGE": "Rango from/to no válido",
    "INVALID_GRANULARITY": "Granularidad no válida: {{granularity}}",
    "INVALID_QUEUE": "Cola no válida",
    "INVALID_SCHEDULER_END_DATE": "La fecha de fin debe ser futura",
    "INVALID_SCHEDULER_INTERVAL": "El intervalo debe ser un número positivo de milisegundos",
    "INVALID_SCHEDULER_LIMIT": "Las ejecuciones máximas deben ser un número entero positivo",
    "INVALID_SCHEDULER_PATTERN": "Se rechazó el horario, revisa el patrón cron",
    "INVALID_SCHEDULER_SCHEDULE": "Indica un patrón cron o un intervalo, no ambos",
    "JOB_BELONGS_TO_JOB_SCHEDULER": "La tarea pertenece a un programador",
    "JOB_BELONGS_TO_JOB_SCHEDULER_DETAILS": "La tarea {{jobId}} es la próxima ejecución del programador \"{{jobSchedulerId}}\" y no se puede eliminar por sí sola. Elimina el programador para detener la programación.",
    "JOB_IS_ACTIVE": "La tarea está en ejecución",
    "JOB_IS_ACTIVE_DETAILS": "La tarea {{jobId}} está siendo procesada por un worker y no se puede eliminar hasta que termine.",
    "JOB_NOT_FOUND": "Tarea no encontrada",
    "JOB_NOT_RETRIABLE": "La tarea está en estado \"{{state}}\" y no se puede reintentar",
    "JOB_SCHEDULER_EDIT_NOT_SUPPORTED": "Este tipo de cola no admite editar un horario",
    "JOB_SCHEDULER_NOT_FOUND": "Programador no encontrado",
    "QUEUE_NOT_FOUND": "Cola no encontrada",
    "QUEUE_NOT_PAUSED": "La cola debe estar pausada antes de obliterarla",
    "QUEUE_READ_ONLY": "Método no permitido en una cola de solo lectura",
    "REDIS_STATS_UNAVAILABLE": "Los detalles de Redis no están disponibles para el backend de esta cola",
    "STATUS_NOT_RETRIABLE": "\"{{status}}\" no es un estado reintentable",
    "WORKERS_DISABLED": "El informe de workers está desactivado",
    "INVALID_METRIC": "Métrica no válida"
  },
  "METRICS_HISTORY": {
    "TITLE": "Historial de métricas",
    "EMPTY": "Aún no hay historial registrado.",
    "TOTAL_COMPLETED": "Total completados",
    "TOTAL_FAILED": "Total fallidos",
    "RANGE_7D": "7d",
    "RANGE_30D": "30d",
    "RANGE_90D": "90d",
    "BY_QUEUE": "Por cola",
    "ACTIONS": "Acciones del historial de métricas",
    "QUEUE": "Cola",
    "COMPLETED": "Completados",
    "FAILED": "Fallidos",
    "RUNS": "Ejecuciones",
    "P95_RUNTIME": "Ejecución p95",
    "P95_RUN_TIME": "Ejecución p95",
    "P95_WAIT_TIME": "Espera p95",
    "NOT_AVAILABLE": "n/d",
    "BAR_LABEL": "{{completed}} completados, {{failed}} fallidos",
    "FAILURE_RATE": "{{rate}} de las ejecuciones fallaron",
    "STORAGE": {
      "TITLE": "Almacenamiento",
      "EMPTY": "Nada almacenado aún.",
      "TOTAL": "Total",
      "MINUTE_TIER": "Detalle por minuto",
      "HOUR_TIER": "Por hora",
      "DAY_TIER": "Totales diarios",
      "RANGE": "Registrado",
      "SIZE": "Tamaño",
      "MINUTES": "Minutos",
      "TIER_NOTE": "El detalle por minuto es, con diferencia, el nivel más grande. Los gráficos leen los totales diarios, por lo que una retención de minutos más corta reduce el almacenamiento sin cambiar lo que ves aquí.",
      "TRIM_BTN": "Conservar solo el último {{range}}",
      "CLEAR_BTN": "Borrar todo el historial",
      "CONFIRM_TITLE": "¿Eliminar el historial de métricas registrado?",
      "CONFIRM_TRIM": "Todo lo registrado antes de {{date}} se eliminará, conservando el último {{range}}. Esto no se puede deshacer y los días eliminados ya no aparecerán en ningún gráfico.",
      "CONFIRM_CLEAR": "Se eliminarán todos los {{size}} del historial registrado de todas las colas. Esto no se puede deshacer. La grabación continúa, por lo que los nuevos datos comenzarán a acumularse a partir de la siguiente instantánea."
    }
  },
  "SCHEDULERS": {
    "TITLE": "Programaciones",
    "EMPTY": "No hay programaciones registradas.",
    "FILTER_BY_QUEUE": "Filtrar por cola",
    "ALL_QUEUES": "Todas las colas",
    "TEMPLATE": "Plantilla del trabajo",
    "EVERY": "cada {{interval}}",
    "OF_LIMIT": "de {{limit}}",
    "COLUMNS": {
      "SCHEDULER": "Programación",
      "QUEUE": "Cola",
      "SCHEDULE": "Horario",
      "NEXT_RUN": "Próxima ejecución",
      "LAST_RUN": "Última ejecución",
      "RUNS": "Ejecuciones"
    },
    "INTERVAL": {
      "MILLISECONDS": "{{count}}ms",
      "SECONDS": "{{count}}s",
      "MINUTES": "{{count}}m",
      "HOURS": "{{count}}h",
      "DAYS": "{{count}}d"
    },
    "ACTIONS": {
      "EDIT": "Editar horario",
      "REMOVE": "Eliminar programación"
    },
    "CONFIRM": {
      "REMOVE": "¿Seguro que quieres eliminar la programación \"{{id}}\"? Sus próximas ejecuciones se detienen hasta que la aplicación vuelva a registrarla."
    },
    "TOAST": {
      "REMOVE_PENDING": "Eliminando la programación {{id}}",
      "REMOVE_DONE": "Programación {{id}} eliminada",
      "UPDATE_PENDING": "Actualizando la programación {{id}}",
      "UPDATE_DONE": "Programación {{id}} actualizada"
    },
    "EDIT": {
      "TITLE": "Editar la programación {{id}}",
      "DESCRIPTION": "Solo cambia el horario. El trabajo que crea conserva su nombre, datos y opciones.",
      "OVERWRITE_NOTE": "La aplicación puede volver a registrar esta programación al reiniciarse, lo que sobrescribe el horario definido aquí.",
      "SAVE": "Guardar",
      "KIND": "Tipo de horario",
      "KIND_PATTERN": "Patrón cron",
      "KIND_EVERY": "Intervalo",
      "PATTERN": "Patrón cron",
      "TZ": "Zona horaria",
      "EVERY": "Intervalo (ms)",
      "LIMIT": "Ejecuciones máximas",
      "END_DATE": "Fecha de fin"
    }
  }
}
