semillero-special-hotel/src/lib/i18n/dictionaries/es.json

278 lines
No EOL
12 KiB
JSON

{
"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."
},
"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."
}
}