{
  "nav": {
    "plans": "Planes de Comisión",
    "goals": "Metas Comerciales",
    "import": "Cargar Ventas",
    "simulation": "Simulación",
    "approvals": "Aprobaciones",
    "history": "Historial",
    "dashboard": "Tablero",
    "audit": "Auditoría",
    "logout": "Cerrar Sesión"
  },
  "simulation": {
    "title": "Simulación de Liquidación",
    "description": "Calcule, simule y audite las comisiones mensuales antes de la aprobación del Líder Comercial.",
    "periodLabel": "Período de Liquidación (YYYY-MM)",
    "dryRunLabel": "Modo Simulador (No escribir en base de datos)",
    "calculateBtn": "Calcular",
    "calculatingBtn": "Calculando...",
    "resultsHeader": "Resumen del Cálculo",
    "summaryCollaborators": "Colaboradores",
    "summaryCommission": "Comisión Propuesta",
    "summaryAdjustment": "Ajustes Retroactivos",
    "summaryPayout": "Pago Total Estimado",
    "thCollaborator": "Colaborador",
    "thPlan": "Plan",
    "thGoal": "Meta",
    "thSales": "Ventas Confirmadas",
    "thAchievement": "Cumplimiento %",
    "thCommission": "Comisión Calculada",
    "thAdjustment": "Ajustes Retroactivos",
    "thPayout": "Pago Total",
    "thStatus": "Estado",
    "thAiAudit": "Auditoría IA",
    "restrictedTitle": "Acceso Restringido",
    "restrictedDesc": "Lo sentimos, esta sección es exclusiva para el Administrador y el Analista de Compensaciones.",
    "successSimulate": "Simulación completada con éxito. Los resultados no se han guardado.",
    "successCalculate": "Liquidaciones calculadas y guardadas correctamente.",
    "serverError": "Error al comunicarse con el servidor.",
    "loading": "Cargando panel de simulación..."
  },
  "status": {
    "ACTIVE": "Activo",
    "INACTIVE": "Inactivo",
    "PENDING": "Pendiente",
    "SIMULATED": "Simulado",
    "APPROVED": "Aprobado",
    "REJECTED": "Rechazado",
    "DRAFT": "Borrador"
  },
  "targetType": {
    "INDIVIDUAL": "Individual",
    "TEAM": "Equipo",
    "HOTEL": "Hotel"
  },
  "errors": {
    "unauthorizedTitle": "Acceso Denegado",
    "unauthorizedDescription": "No tiene permisos suficientes para acceder a esta página. Póngase en contacto con el administrador si considera que esto es un error.",
    "unauthorizedBtn": "Volver a Planes",
    "notFoundTitle": "Página No Encontrada",
    "notFoundDescription": "La página que busca no existe o no tiene autorización para acceder a ella.",
    "notFoundBtn": "Volver a Planes"
  },
  "dashboard": {
    "title": "Tablero de Análisis de Compensación",
    "total_paid": "Comisiones Totales Pagadas",
    "avg_achievement": "Promedio Logro de Metas",
    "budget_cap": "Límite de Presupuesto Activo",
    "trends": "Tendencias de Comisiones Mensuales",
    "hotels_comparison": "Comparación de Rendimiento de Hoteles",
    "trends_desc": "Comisión Pagada vs Límite de Presupuesto",
    "hotels_desc": "Ventas y logros por hotel",
    "loading": "Cargando panel de control..."
  },
  "history": {
    "title": "Mi Historial de Comisiones",
    "audit_notes": "Notas de Auditoría de IA",
    "period": "Periodo",
    "goal": "Meta de Destino",
    "sales": "Total de Ventas",
    "commission": "Comisión Calculada",
    "adjustment": "Ajuste por Recuperación (Clawback)",
    "payout": "Pago Total",
    "status": "Estado",
    "empty": "No se encontraron registros de historial.",
    "filters": "Filtros",
    "all_statuses": "Todos los Estados",
    "download_pdf": "Descargar PDF",
    "loading": "Cargando historial...",
    "showNotes": "Ver Notas",
    "hideNotes": "Ocultar",
    "allCollaborators": "Todos"
  },
  "audit": {
    "title": "Registros de Auditoría del Sistema",
    "timestamp": "Marca de tiempo",
    "actor": "Actor",
    "action": "Acción",
    "target_table": "Tabla de Destino",
    "ip_address": "Dirección IP",
    "empty": "No se encontraron registros de auditoría.",
    "details": "Detalles",
    "diff_panel": "Detalles del JSON Diff Lado a Lado",
    "previous": "Valor Anterior",
    "new": "Valor Nuevo",
    "no_diff": "No hay detalles de modificación disponibles.",
    "loading": "Cargando registros..."
  },
  "login": {
    "title": "Iniciar Sesión",
    "subtitle": "Hoteles Estelar",
    "username": "Usuario",
    "password": "Contraseña",
    "usernamePlaceholder": "Ingrese su usuario",
    "passwordPlaceholder": "Ingrese su contraseña",
    "submit": "Ingresar",
    "footer": "Sistema de Remuneración Variable y Comisiones",
    "loading": "Cargando formulario...",
    "error": "Error al iniciar sesión. Verifique sus credenciales.",
    "unexpectedError": "Ocurrió un error inesperado. Por favor, intente nuevamente."
  },
  "plans": {
    "title": "Planes de Comisión",
    "newPlan": "Nuevo Plan",
    "loading": "Cargando planes...",
    "version": "Versión",
    "startValidity": "Inicio Vigencia",
    "endValidity": "Fin Vigencia",
    "rulesCreated": "Reglas creadas",
    "configureRules": "Configurar Reglas",
    "viewRules": "Ver Reglas",
    "deactivateVersion": "Inactivar (Versión)",
    "activate": "Activar",
    "modalTitle": "Crear Nuevo Plan",
    "modalName": "Nombre del Plan",
    "modalCode": "Código del Plan",
    "modalValidityStart": "Inicio de Vigencia",
    "modalType": "Tipo de Remuneración",
    "modalMetaAmount": "Meta de Ventas (Opcional)",
    "modalMaxCap": "Tope Máximo / Cap (Opcional)",
    "modalStatus": "Estado Inicial",
    "modalCancel": "Cancelar",
    "modalSave": "Guardar Plan",
    "types": {
      "PERCENTAGE": "Porcentaje Simple",
      "SCALE": "Escala Contigua",
      "CONDITIONAL": "Condicional por Metas",
      "FIXED": "Comisión Fija"
    },
    "errorFind": "No se pudo encontrar el plan.",
    "errorLoad": "Error al cargar la información del plan.",
    "modalValidityEnd": "Fin de Vigencia (Opcional)"
  },
  "rules": {
    "back": "Volver a Planes",
    "title": "Configurar Reglas de Comisión",
    "subtitle": "Plan: {name} | Código: {code} | Versión: {version} | Estado: {status}",
    "thType": "Tipo de Regla",
    "thMin": "Min Logro (%)",
    "thMax": "Max Logro (%)",
    "thRate": "Tasa Comisión (Decimal)",
    "thPayout": "Payout Fijo ($)",
    "addRule": "+ Agregar Rango / Regla",
    "cancel": "Cancelar",
    "backBtn": "Volver",
    "save": "Guardar Reglas",
    "loading": "Cargando configuración...",
    "delete": "Eliminar regla",
    "types": {
      "TIER": "Rango (TIER)",
      "BONUS": "Bono Fijo (BONUS)"
    },
    "errorAtLeastOne": "El plan debe tener al menos una regla.",
    "errorBoundary": "Fila {row}: El logro mínimo ({min}) debe ser menor que el logro máximo ({max}).",
    "errorNegative": "Fila {row}: Todos los valores deben ser mayores o iguales a cero.",
    "errorSave": "Error al guardar las reglas.",
    "errorNetwork": "Ocurrió un error de red al guardar las reglas.",
    "successSave": "Reglas configuradas y guardadas exitosamente."
  },
  "goals": {
    "title": "Metas Comerciales",
    "assignTitle": "Asignar Meta",
    "labelType": "Tipo de Meta",
    "labelSelect": "Seleccionar Colaborador",
    "labelPeriod": "Período (YYYY-MM)",
    "labelAmount": "Monto de Meta ($)",
    "btnSave": "Guardar Meta",
    "thTarget": "Destino",
    "thType": "Tipo",
    "thPeriod": "Período",
    "thAmount": "Monto",
    "thActions": "Acciones",
    "empty": "No se encontraron metas asignadas.",
    "loading": "Cargando metas...",
    "successSave": "Meta comercial asignada / actualizada exitosamente.",
    "errorSave": "Ocurrió un error al guardar la meta.",
    "errorInput": "Por favor, ingrese valores válidos.",
    "roles": {
      "collaborator": "Colaborador",
      "commercial_leader": "Líder Comercial",
      "hotel_manager": "Gerente",
      "director": "Director",
      "analyst": "Analista",
      "admin": "Administrador"
    }
  },
  "import": {
    "title": "Cargar Ventas Comerciales",
    "subtitle": "Importe el archivo de resultados para procesar las comisiones del periodo.",
    "templateLabel": "Utilice la plantilla oficial para evitar inconsistencias:",
    "downloadTemplate": "Descargar Plantilla (.xlsx)",
    "loading": "Cargando módulo de importación...",
    "unsupportedFile": "Tipo de archivo no soportado. Cargue archivos .xlsx, .xls o .csv",
    "uploading": "Subiendo y verificando archivo...",
    "process": "Procesar Archivo",
    "clear": "Limpiar",
    "success": "Carga exitosa:",
    "successDesc": "Se importaron exitosamente {count} registros de venta.",
    "consolidated": "Monto consolidado:",
    "inconsistencyTitle": "Detalle de Inconsistencias en las Filas",
    "thRow": "Fila",
    "thColumn": "Columna",
    "thValue": "Valor Leído",
    "thError": "Detalle del Error",
    "statusPolling": "Procesando integración asíncrona mediante n8n...",
    "timeout": "El procesamiento por n8n está tomando más tiempo de lo esperado. Revise el historial más tarde.",
    "networkError": "Fallo de red o error inesperado al subir el archivo.",
    "dragText": "Arrastre y suelte su archivo aquí, o",
    "browseText": "explore archivos",
    "supportedText": "Formatos permitidos: .xlsx, .xls, .csv",
    "inconsistencyAlert": "Inconsistencia detectada:",
    "errors": {
      "USER_NOT_FOUND": "El colaborador '{username}' no existe en el sistema.",
      "INVALID_PERIOD_FORMAT": "El período '{value}' no tiene formato válido (esperado: {expected}).",
      "HOTEL_NOT_FOUND": "El hotel '{hotelCode}' no existe en el sistema.",
      "HOTEL_REGION_MISMATCH": "El hotel '{hotelCode}' no pertenece a su región autorizada.",
      "INVALID_AMOUNT": "El monto '{value}' no es válido. Debe ser un número positivo.",
      "INVALID_COUNT": "La cantidad '{value}' no es válida. Debe ser un número entero positivo.",
      "USER_REQUIRED": "El colaborador es obligatorio.",
      "HOTEL_REQUIRED": "El hotel es obligatorio.",
      "IMPORT_VALIDATION_FAILED": "El archivo cargado contiene inconsistencias de validación.",
      "MISSING_IDEMPOTENCY_KEY": "El encabezado de idempotencia es obligatorio.",
      "FILE_REQUIRED": "Debe seleccionar un archivo válido.",
      "EMPTY_FILE": "El archivo está vacío y no contiene registros.",
      "INTEGRATION_ERROR": "El motor de integraciones (n8n) reportó un fallo al procesar la solicitud.",
      "IMPORT_ALREADY_PROCESSED": "Este archivo ya fue cargado y procesado con éxito anteriormente.",
      "IMPORT_SUCCESSFUL": "Importación completada con éxito. Se cargaron {count} registros.",
      "IMPORT_ACCEPTED": "La importación ha sido aceptada y se está procesando mediante n8n en segundo plano."
    }
  },
  "approvals": {
    "title": "Panel de Aprobaciones",
    "loading": "Cargando panel de aprobaciones...",
    "leaderDesc": "Revise y apruebe las liquidaciones de comisión de los colaboradores de su región.",
    "globalDesc": "Visualice y audite el estado de aprobación de las liquidaciones de comisiones.",
    "empty": "No se encontraron liquidaciones pendientes en su región.",
    "thCollaborator": "Colaborador",
    "thPlan": "Plan",
    "thPeriod": "Período",
    "thGoal": "Meta",
    "thSales": "Ventas",
    "thAchievement": "Cumplimiento",
    "thPayout": "Pago Total",
    "thStatus": "Estado",
    "thActions": "Acciones",
    "btnApprove": "Aprobar",
    "btnReject": "Rechazar",
    "rejectModalTitle": "Rechazar Liquidación de Comisión",
    "rejectReasonLabel": "Motivo del Rechazo",
    "rejectReasonPlaceholder": "Ej. Falta validar soporte físico de ventas...",
    "rejectCancel": "Cancelar",
    "rejectConfirm": "Confirmar Rechazo",
    "successApprove": "Liquidación aprobada con éxito.",
    "successReject": "Liquidación rechazada.",
    "errorApprove": "Error al aprobar la liquidación.",
    "errorReject": "Error al rechazar la liquidación.",
    "errorServer": "Error al comunicarse con el servidor."
  }
}