| { |
| "common": { |
| "welcome": "Bienvenido", |
| "dashboard": "Tablero", |
| "clients": "Clientes", |
| "analytics": "Análisis", |
| "settings": "Configuración", |
| "logout": "Cerrar sesión", |
| "save": "Guardar", |
| "cancel": "Cancelar", |
| "loading": "Cargando...", |
| "error": "Ocurrió un error", |
| "success": "Éxito", |
| "create": "Crear", |
| "delete": "Eliminar", |
| "edit": "Editar", |
| "search": "Buscar...", |
| "actions": "Acciones", |
| "export": "Exportar", |
| "sync": "Sincronizar", |
| "send": "Enviar", |
| "close": "Cerrar", |
| "confirm": "Confirmar", |
| "back": "Atrás", |
| "next": "Siguiente", |
| "yes": "Sí", |
| "no": "No", |
| "status": "Estado", |
| "date": "Fecha", |
| "name": "Nombre", |
| "email": "Correo", |
| "phone": "Teléfono", |
| "day": "Día", |
| "none": "Ninguno", |
| "select_org": "Por favor selecciona una organización", |
| "clear_filter": "Quitar filtro", |
| "no_data": "Sin datos disponibles", |
| "retry": "Reintentar" |
| }, |
| "nav": { |
| "home": "Inicio", |
| "inbox": "Bandeja de entrada", |
| "campaigns": "Campañas", |
| "templates": "Plantillas", |
| "organizations": "Organizaciones", |
| "users": "Usuarios", |
| "training": "Training Lab", |
| "moderation": "Moderación", |
| "b2b": "Clientes B2B", |
| "kb": "Base de Conocimiento", |
| "content": "Cursos", |
| "conversations": "Conversaciones", |
| "ai_setup": "Agente IA", |
| "billing": "Facturación" |
| }, |
| "dashboard": { |
| "title": "Tablero", |
| "subtitle": "Estado de tu plataforma en tiempo real", |
| "select_org": "Bienvenido a EdTech Admin", |
| "select_org_hint": "Para empezar, selecciona una organización en el menú de la izquierda.", |
| "isolation_note": "El aislamiento de datos garantiza que solo ves las estadísticas de la organización activa.", |
| "loading": "Analizando datos...", |
| "no_enrollments": "Sin inscripciones", |
| "recent_enrollments": "Inscripciones recientes", |
| "export_csv": "Exportar CSV", |
| "stats": { |
| "users": "Usuarios", |
| "active": "Activos", |
| "completed": "Completados", |
| "tracks": "Cursos", |
| "revenue": "Ingresos", |
| "total_messages": "Mensajes Totales", |
| "active_users": "Usuarios Activos", |
| "completion_rate": "Tasa de Finalización", |
| "ai_cost": "Costo IA estimado" |
| }, |
| "table": { |
| "phone": "Teléfono", |
| "track": "Curso", |
| "status": "Estado", |
| "day": "Día", |
| "date": "Fecha" |
| } |
| }, |
| "analytics": { |
| "title": "Análisis y Rendimiento", |
| "export": "Exportar informe", |
| "explain": "Explicar", |
| "messages": { |
| "title": "Volumen de Mensajes", |
| "inbound": "Entrantes", |
| "outbound": "Salientes" |
| }, |
| "completion": { |
| "title": "Tasa de Éxito", |
| "completed": "Completados", |
| "in_progress": "En progreso" |
| }, |
| "performance": { |
| "title": "Rendimiento", |
| "avg_score": "Puntuación media de ejercicios" |
| }, |
| "engagement": { |
| "title": "Compromiso", |
| "avg_days": "Días de formación en promedio" |
| } |
| }, |
| "users": { |
| "title": "Gestión de Usuarios", |
| "subtitle": "Todos los estudiantes inscritos", |
| "no_users": "No se encontraron usuarios", |
| "invite": "Invitar", |
| "columns": { |
| "name": "Nombre", |
| "phone": "Teléfono", |
| "track": "Curso activo", |
| "day": "Día", |
| "status": "Estado", |
| "joined": "Inscripción" |
| } |
| }, |
| "contacts": { |
| "title": "Contactos", |
| "subtitle": "Gestión de tu base de contactos CRM", |
| "add": "Agregar contacto", |
| "import": "Importar", |
| "no_contacts": "Sin contactos", |
| "search_placeholder": "Buscar un contacto..." |
| }, |
| "settings": { |
| "title": "Configuración", |
| "profile": "Perfil de la organización", |
| "branding": "Marca y Colores", |
| "ai_config": "Configuración IA", |
| "whatsapp_config": "Configuración WhatsApp", |
| "billing": "Facturación", |
| "org_name": "Nombre de la organización", |
| "primary_color": "Color principal", |
| "logo_url": "URL del logo", |
| "save_success": "Configuración guardada con éxito.", |
| "save_error": "No se pudo guardar la configuración.", |
| "no_org_selected": "Por favor selecciona una organización.", |
| "advanced_config": "Configuración avanzada", |
| "developers_badge": "Desarrolladores", |
| "flow_config_desc": "Este campo contiene la configuración JSON del flujo pedagógico. Modifíquelo solo si sabe lo que hace.", |
| "wa_account": "Cuenta WhatsApp", |
| "wa_token": "Token del sistema", |
| "not_configured": "No configurado", |
| "token_absent": "Ausente", |
| "token_expired": "Expirado", |
| "token_valid": "Válido", |
| "token_present": "Presente", |
| "token_expired_alert": "Tu token de WhatsApp es inválido o ha expirado. Los mensajes ya no pueden enviarse. Ve a Meta Business Manager → Usuarios del sistema para generar un nuevo token y actualiza tu organización.", |
| "api_keys_title": "Claves API de IA", |
| "api_keys_locked": "Disponible a partir del plan SCALE. Al agregar tus propias claves de OpenAI o Google, usas tu propia cuota de IA — sin límite vinculado a tu plan Xamlé.", |
| "api_keys_unlocked": "Tus claves están cifradas y almacenadas de forma segura. Reemplazan las claves compartidas de la plataforma — tu consumo de IA ya no se descuenta de tu saldo de créditos." |
| }, |
| "onboarding": { |
| "title": "Bienvenido a Xamlé.Studio", |
| "subtitle": "Configuremos tu escuela en unos segundos.", |
| "step_welcome": "Bienvenida", |
| "step_legal": "Contrato", |
| "step_whatsapp": "WhatsApp", |
| "step_ai": "IA", |
| "connect_fb": "Conectar con Facebook", |
| "fb_connected": "¡Cuenta de Facebook conectada!", |
| "setup_waba": "Configurando tu cuenta de WhatsApp Business...", |
| "cta_launch": "Lanzar mi plataforma", |
| "legal_text": "Al aceptar, aceptas nuestros términos de socio y las políticas comerciales de Meta.", |
| "whatsapp_help_title": "¿Dónde encontrar esta información?", |
| "help_waba_id": "Inicia sesión en WhatsApp Manager → columna \"Cuenta de WhatsApp Business\" → número de 15 dígitos.", |
| "help_business_id": "Configuración Meta → Información de la empresa → \"ID Meta Business\".", |
| "help_token": "En Meta Business Manager → Usuarios del sistema → tu usuario → Generar token. Elige \"Nunca expira\" para evitar interrupciones.", |
| "help_new_to_meta": "¿Nuevo en Meta? Usa el botón \"Conectar con Facebook\" abajo — más simple, todo es automático.", |
| "already_configured": "Cuenta ya configurada en Meta", |
| "fb_account_connected": "Cuenta de Facebook conectada", |
| "new_account_via_fb": "Nueva cuenta — Conexión vía Facebook", |
| "new_account_desc": "El cliente configura su número directamente en la ventana emergente de Facebook.", |
| "token_valid_msg": "Token válido — Meta lo ha reconocido", |
| "token_invalid_msg": "Token inválido o expirado. Verifica en Meta Business Manager → Usuarios del sistema.", |
| "token_idle_hint": "Genera un token \"Nunca expira\" en Meta Business Manager → Usuarios del sistema.", |
| "skip_whatsapp": "Configurar WhatsApp más tarde", |
| "create_org": "Crear organización", |
| "creating": "Creando…" |
| }, |
| "crm": { |
| "stats": { |
| "total_contacts": "Contactos Totales", |
| "messages_sent": "Mensajes Enviados", |
| "open_rate": "Tasa de apertura", |
| "conversion": "Conversión" |
| }, |
| "inbox": { |
| "title": "Conversaciones", |
| "no_messages": "No se encontraron conversaciones.", |
| "reply_placeholder": "Tu mensaje...", |
| "send": "Enviar" |
| }, |
| "campaigns": { |
| "title": "Historial de Campañas", |
| "subtitle": "Sigue todas tus transmisiones y su rendimiento.", |
| "new_campaign": "Nueva Campaña", |
| "select_template": "Plantilla WhatsApp (Opcional)", |
| "choose_approved": "Selecciona una plantilla aprobada...", |
| "no_approved_templates": "No hay plantillas aprobadas. Sincroniza primero.", |
| "use_ai_text": "Usar texto generado por IA", |
| "status_sent": "Enviado", |
| "status_delivered": "Entregado", |
| "status_read": "Leído", |
| "status_failed": "Fallido", |
| "fetch_failed": "Error al cargar las plantillas" |
| }, |
| "assistant": { |
| "placeholder": "Escribe tu comando aquí...", |
| "thinking": "La IA está preparando una respuesta...", |
| "contact_preview": "Vista previa de contactos", |
| "campaign_summary": "Resumen de campaña", |
| "messages_ready": "mensajes personalizados listos para enviar", |
| "recipient": "DESTINATARIO", |
| "more_contacts": "+ {{count}} contactos más", |
| "more_messages": "+ {{count}} mensajes más", |
| "send_all": "🚀 Enviar todo por WhatsApp API", |
| "powered_by": "Powered by Xamlé AI • CRM PaaS integrado", |
| "btn_history": "📊 Historial", |
| "btn_import": "📤 Importar", |
| "btn_campaign": "✨ Campaña", |
| "error_mic": "Error de acceso al micrófono.", |
| "error_bulk": "Error al enviar en masa.", |
| "import_first": "Por favor importa una lista de contactos primero.", |
| "campaign_queued": "🚀 ¡Tu campaña ha sido puesta en cola para entrega progresiva!", |
| "error_occurred": "Ha ocurrido un error técnico.", |
| "drop_file_note": "Por favor usa el botón de importar por ahora." |
| } |
| }, |
| "whatsapp": { |
| "templates": { |
| "title": "Plantillas de Mensajes WhatsApp", |
| "subtitle": "Gestiona y sincroniza tus plantillas aprobadas por Meta.", |
| "sync_button": "Sincronizar con Meta", |
| "create_button": "Crear plantilla", |
| "no_templates": "No hay plantillas. Sincroniza o crea una.", |
| "table": { |
| "name": "Nombre de plantilla", |
| "category": "Categoría", |
| "language": "Idioma", |
| "status": "Estado" |
| }, |
| "create_modal": { |
| "title": "Crear nueva plantilla", |
| "name_label": "Nombre (minúsculas, sin espacios)", |
| "category_label": "Categoría", |
| "language_label": "Idioma", |
| "body_label": "Texto del cuerpo", |
| "submit": "Enviar para aprobación", |
| "success": "¡Plantilla enviada con éxito!", |
| "error": "Error al enviar la plantilla.", |
| "meta_approval": "Las plantillas deben ser aprobadas por Meta antes de su uso.", |
| "ai_generate_label": "Generar con IA", |
| "ai_placeholder": "Ej: \"mensaje de bienvenida para un nuevo estudiante\"", |
| "ai_generating": "Generando…", |
| "ai_generate": "Generar", |
| "ai_hint": "La IA rellena los campos de abajo — puedes modificarlos antes de enviar.", |
| "name_hint": "Solo letras minúsculas, números y guiones bajos. Ej: recordatorio_pago", |
| "policy_marketing": "Promocional — aprobación Meta 24–48h. Evite palabras demasiado comerciales.", |
| "policy_utility": "Transaccional — aprobación más rápida (normalmente pocas horas). Confirmaciones, recordatorios, alertas.", |
| "preview_label": "Vista previa de WhatsApp", |
| "view_preview": "Ver vista previa completa" |
| } |
| } |
| }, |
| "knowledge": { |
| "title": "Base de Conocimiento", |
| "subtitle": "Gestiona los documentos de tu IA", |
| "chunks": "fragmentos indexados", |
| "reindex": "Re-indexar", |
| "reindexing": "Indexando...", |
| "search_placeholder": "Buscar fragmentos...", |
| "no_documents": "No se encontraron fragmentos.", |
| "import_hint": "Importa un documento en la pestaña Agente IA para empezar.", |
| "confirm_delete": "¿Eliminar este fragmento de la base de conocimiento?", |
| "delete_error": "Error al eliminar" |
| }, |
| "training": { |
| "title": "Training Lab", |
| "subtitle": "Prueba y mejora tu IA pedagógica" |
| }, |
| "ai_setup": { |
| "title": "Configuración del Agente IA", |
| "subtitle": "Convierte tus documentos en inteligencia conversacional en WhatsApp.", |
| "kb_title": "Base de Conocimiento", |
| "kb_desc": "Sube tus catálogos, manuales o FAQs. La IA los usará para responder con precisión.", |
| "upload_idle": "Haz clic para subir un documento", |
| "upload_loading": "Subiendo e indexando...", |
| "upload_success": "¡Documento indexado con éxito!", |
| "upload_error": "Error al subir", |
| "personality_title": "Personalidad del Agente", |
| "role_label": "Rol principal", |
| "role_placeholder": "Ej: Asesor técnico para Agritech", |
| "tone_label": "Tono y Estilo", |
| "save": "Guardar personalidad", |
| "saving": "Guardando...", |
| "saved": "Guardado", |
| "preview_title": "Vista previa WhatsApp", |
| "stats_title": "Estadísticas del Agente", |
| "stats_status": "Estado", |
| "stats_active": "Activo", |
| "stats_chunks": "Fragmentos indexados", |
| "stats_words": "Palabras estimadas", |
| "no_kb": "Sin base de conocimiento indexada.", |
| "notifications_title": "Notificaciones Automáticas", |
| "notifications_desc": "Selecciona la plantilla Meta para los seguimientos automáticos del agente IA.", |
| "kb_empty_title": "Tu agente aún no está operativo", |
| "kb_empty_desc": "Sube al menos un documento (FAQ, catálogo, tarifas…) para que pueda responder a tus clientes. Sin base de conocimiento, el agente no sabrá qué decir.", |
| "upload_success_detail": "Documento analizado — ¡tu agente ha sido actualizado!", |
| "current_file": "Actual:", |
| "indexing_title": "¿Qué pasa ahora?", |
| "indexing_desc": "Tu documento está siendo analizado. En 30 a 60 segundos, tu agente podrá responder las preguntas que cubre. Pruébalo en el panel de la derecha.", |
| "role_hint": "Describe en una o dos frases qué hace tu agente y para quién. Cuanto más preciso, mejores serán las respuestas.", |
| "tone_recommended": "— recomendado para su sector", |
| "tone_desc_professional": "Formal y preciso — ideal para servicios B2B", |
| "tone_desc_friendly": "Cálido y accesible — ideal para el público en general", |
| "tone_desc_direct": "Corto y objetivo — ideal para el soporte", |
| "tone_desc_pedagogical": "Paciente y explicativo — ideal para la formación", |
| "test_live": "Prueba en vivo", |
| "test_hint": "Hazle una pregunta real a tu agente", |
| "test_empty_with_kb": "Haz una pregunta abajo para probar tu agente.", |
| "test_empty_no_kb": "Sube un documento primero, luego prueba aquí.", |
| "test_placeholder": "Ej: ¿Cuáles son sus tarifas?", |
| "test_error": "Lo siento, la prueba no está disponible en este momento.", |
| "kb_save_blocked": "Agrega primero un documento a la base de conocimiento arriba antes de activar tu agente.", |
| "coverage_excellent": "Excelente", |
| "coverage_good": "Buena", |
| "coverage_poor": "Insuficiente", |
| "coverage_label": "pasajes analizados — cobertura", |
| "coverage_low_hint": "Agrega más documentos para mejorar la precisión de las respuestas.", |
| "no_kb_hint": "Agrega tus FAQ, tarifas o fichas de producto para activar el agente.", |
| "stats_status_label": "Estado", |
| "stats_active_label": "Activo", |
| "words_covered": "Palabras cubiertas", |
| "bot_name_label": "Nombre del agente", |
| "bot_name_placeholder": "Ej. Kora, Awa, SupportBot...", |
| "bot_name_hint": "El nombre que su agente usará para presentarse en WhatsApp." |
| }, |
| "tracks": { |
| "title": "Cursos", |
| "new": "Nuevo curso", |
| "no_tracks": "Sin cursos. ¡Crea uno!", |
| "confirm_delete": "¿Eliminar este curso?", |
| "days": "días", |
| "enrolled": "inscritos", |
| "days_label": "Días", |
| "no_days": "Sin días creados." |
| }, |
| "campaigns": { |
| "title": "Historial de Campañas", |
| "no_records": "No se encontraron campañas", |
| "first_hint": "Envía tu primera campaña desde la sección Contactos.", |
| "total": "mensajes enviados en total", |
| "clear_filter": "Quitar filtro", |
| "columns": { |
| "contact": "Contacto", |
| "message": "Mensaje", |
| "status": "Estado", |
| "sent": "Enviado" |
| } |
| }, |
| "livefeed": { |
| "title": "Live Feed", |
| "subtitle": "Monitoreo de conversaciones en tiempo real", |
| "no_messages": "Sin mensajes por ahora.", |
| "refresh": "Actualizar" |
| }, |
| "b2b": { |
| "title": "Gestión Clientes B2B", |
| "subtitle": "Gestiona tus organizaciones socias" |
| }, |
| "admin_chat": { |
| "aria_label": "Asistente IA", |
| "choose_or_write": "Elige una pregunta o escribe la tuya", |
| "input_placeholder": "Tu pregunta...", |
| "error": "Lo siento, no puedo responder en este momento. Inténtalo de nuevo en un momento.", |
| "billing_title": "Asistente de facturación", |
| "billing_subtitle": "Respuestas basadas en tus datos reales", |
| "billing_q1": "¿Cuántos créditos me quedan?", |
| "billing_q2": "¿En cuántos días me quedaré sin créditos?", |
| "billing_q3": "¿Qué funcionalidad consume más?", |
| "billing_q4": "¿Cuánto he gastado esta semana?", |
| "settings_title": "Ayuda — Configuración", |
| "settings_subtitle": "Explico cada parámetro", |
| "settings_q1": "¿Cómo conecto mi WhatsApp?", |
| "settings_q2": "¿Para qué sirve el modo Agente IA?", |
| "settings_q3": "¿Están seguras mis claves API?", |
| "settings_q4": "¿Cómo cambio el modo de mi organización?", |
| "templates_title": "Ayuda — Plantillas", |
| "templates_subtitle": "Te ayudo a crear tus mensajes", |
| "templates_q1": "¿Cómo creo una buena plantilla?", |
| "templates_q2": "¿Para qué sirven las variables en una plantilla?", |
| "templates_q3": "¿Por qué puede rechazarse una plantilla?", |
| "templates_q4": "¿Cuál es la diferencia entre utilitario y marketing?", |
| "agent_title": "Ayuda — Agente IA", |
| "agent_subtitle": "Te guío para configurar tu agente", |
| "agent_q1": "¿Qué tipo de documento debo subir?", |
| "agent_q2": "¿Cómo elijo el tono adecuado para mi agente?", |
| "agent_q3": "¿Cuántos documentos son suficientes?", |
| "agent_q4": "¿Cómo mejoro las respuestas de mi agente?", |
| "onboarding_title": "Ayuda — Conexión WhatsApp", |
| "onboarding_subtitle": "Te guío paso a paso", |
| "onboarding_q1": "¿Dónde encuentro mi WABA ID?", |
| "onboarding_q2": "¿Cuál es la diferencia entre las dos opciones?", |
| "onboarding_q3": "Mi token expiró, ¿qué hago?", |
| "onboarding_q4": "No tengo cuenta de Meta, ¿por dónde empiezo?", |
| "general_title": "Asistente Xamlé", |
| "general_subtitle": "Hazme tus preguntas", |
| "general_q1": "¿Cómo empiezo con Xamlé?", |
| "general_q2": "¿Cuál es la diferencia entre los modos?", |
| "general_q3": "¿Cómo funciona la facturación?", |
| "general_q4": "¿Dónde puedo ver mis estadísticas?" |
| } |
| } |
|
|