{
    "app_name": "Plataforma de Inversión",
    "nav": {
        "dashboard": "Panel",
        "investor_traders": "Operadores",
        "investors": "Inversores",
        "settings": "Configuración",
        "email_logs": "Registros de correo",
        "order_logs": "Registros de órdenes",
        "sahme_api_brokers": "Brokers de la API Sahme",
        "sahme_api_wt5": "API Sahme - WT5",
        "copy_trading_api": "API de Copy Trading",
        "custom_menu_links": "Enlaces de Menú Personalizados",
        "copy_trade_instruments": "Instrumentos de Copy Trading",
        "employees": "Empleados y Permisos",
        "logout": "Cerrar sesión",
        "trading_market": "Mercado de Trading",
        "portfolio": "Portafolio",
        "followers": "Seguidores",
        "statement": "Estado de cuenta",
        "revenue_report": "Informe de ingresos",
        "profile": "Perfil",
        "traders": "Operadores"
    },
    "auth": {
        "login_title": "Iniciar sesión",
        "email": "Correo electrónico",
        "password": "Contraseña",
        "login_btn": "Iniciar sesión",
        "logging_in": "Iniciando sesión...",
        "login_error": "Correo electrónico o contraseña incorrectos",
        "rate_limited": "Demasiados intentos. Inténtalo de nuevo más tarde.",
        "session_expired": "La sesión ha expirado. Vuelve a iniciar sesión.",
        "forgot_password_link": "¿Olvidaste tu contraseña?",
        "forgot_password_title": "Olvidé mi contraseña",
        "forgot_password_subtitle": "Introduce tu correo electrónico y te enviaremos un enlace para restablecer tu contraseña.",
        "forgot_password_error": "Algo salió mal. Inténtalo de nuevo.",
        "reset_email_sent_generic": "Si existe una cuenta con ese correo electrónico, se ha enviado un enlace para restablecer la contraseña.",
        "send_reset_link": "Enviar enlace de restablecimiento",
        "sending": "Enviando...",
        "back_to_login": "Volver a iniciar sesión",
        "reset_password_title": "Restablecer contraseña",
        "reset_password_subtitle": "Elige una nueva contraseña para tu cuenta.",
        "reset_password_btn": "Restablecer contraseña",
        "reset_password_error": "Algo salió mal. Inténtalo de nuevo.",
        "resetting": "Restableciendo...",
        "reset_success_message": "Tu contraseña se ha restablecido correctamente.",
        "reset_token_missing": "Este enlace de restablecimiento de contraseña no es válido o ha caducado.",
        "request_new_link": "Solicitar un nuevo enlace",
        "go_to_login": "Ir a iniciar sesión",
        "new_password": "Nueva contraseña",
        "confirm_password": "Confirmar contraseña",
        "password_hint": "Mín. 8 caracteres, 1 mayúscula, 1 minúscula, 1 número",
        "passwords_mismatch": "Las contraseñas no coinciden"
    },
    "users": {
        "title_traders": "Operadores",
        "title_investors": "Inversores",
        "add_new": "Agregar nuevo",
        "search_placeholder": "Buscar por nombre o correo electrónico...",
        "table": {
            "name": "Nombre",
            "email": "Correo electrónico",
            "phone": "Teléfono",
            "assigned_trader": "Operador Asignado",
            "status": "Estado",
            "created": "Creado",
            "broker": "Bróker",
            "actions": "Acciones"
        },
        "status_active": "Activo",
        "status_inactive": "Inactivo",
        "status_banned": "Baneado",
        "form": {
            "create_title_trader": "Crear operador",
            "edit_title_trader": "Editar operador",
            "create_title_investor": "Crear inversor",
            "edit_title_investor": "Editar inversor",
            "name": "Nombre completo",
            "email": "Correo electrónico",
            "phone": "Número de teléfono",
            "spencer_account_id": "ID de cuenta Spencer",
            "copy_ratio": "Ratio de copia",
            "copy_ratio_hint": "Calculado automáticamente a partir del saldo de la cuenta.",
            "copy_ratio_source": "Según saldo",
            "password": "Contraseña",
            "password_hint": "Mín. 8 caracteres, 1 mayúscula, 1 minúscula, 1 número",
            "password_edit_hint": "Déjalo vacío para mantener la contraseña actual",
            "status": "Estado",
            "save": "Guardar",
            "cancel": "Cancelar",
            "saving": "Guardando...",
            "name_required": "El nombre completo es obligatorio (mín. 2 caracteres)",
            "email_invalid": "Formato de correo electrónico no válido",
            "password_required_msg": "La contraseña es obligatoria",
            "send_welcome_email": "Enviar correo de bienvenida con las credenciales de acceso",
            "send_password_reset_email": "Enviar la nueva contraseña al usuario por correo electrónico",
            "generate_password": "Generar",
            "copy_ratio_manual_hint": "Definido manualmente. 1 significa que el seguidor opera el mismo volumen que el trader."
        },
        "delete": {
            "title": "Eliminar usuario",
            "confirm": "¿Estás seguro de que deseas eliminar a",
            "warning": "Esta acción no se puede deshacer.",
            "delete_btn": "Eliminar",
            "deleting": "Eliminando..."
        },
        "ban": {
            "ban_title": "Banear usuario",
            "ban_confirm": "¿Estás seguro de que deseas banear a",
            "ban_warning": "Este usuario cerrará sesión de inmediato y no podrá iniciar sesión hasta que se le quite el baneo.",
            "ban_btn": "Banear",
            "banning": "Baneando...",
            "unban_title": "Quitar baneo",
            "unban_confirm": "¿Estás seguro de que deseas quitar el baneo a",
            "unban_warning": "Este usuario recuperará el acceso y podrá iniciar sesión de nuevo.",
            "unban_btn": "Quitar baneo",
            "unbanning": "Quitando baneo..."
        },
        "messages": {
            "created": "Usuario creado correctamente",
            "updated": "Usuario actualizado correctamente",
            "deleted": "Usuario eliminado correctamente",
            "banned": "Usuario baneado correctamente",
            "unbanned": "Baneo del usuario retirado correctamente",
            "error": "Ocurrió un error. Inténtalo de nuevo.",
            "created_email_failed": "Inversor creado, pero no se pudo enviar el correo de bienvenida",
            "password_reset_email_failed": "Contraseña actualizada, pero no se pudo enviar el correo de notificación"
        },
        "empty": "No se encontraron usuarios",
        "no_broker": "No conectado",
        "loading": "Cargando...",
        "settings": {
            "title": "Configuración del operador",
            "tabs": {
                "performance": "Rendimiento inicial",
                "baseline": "Base inicial de operaciones"
            },
            "performance": {
                "hint": "Establece el porcentaje de rendimiento de este operador para cada mes. Se muestra en el gráfico de rendimiento que ven los inversores, y se usa como valor de respaldo en el gráfico del propio panel del operador para cualquier mes sin datos reales de operaciones todavía.",
                "save": "Guardar rendimiento",
                "saving": "Guardando...",
                "saved": "Rendimiento guardado correctamente"
            },
            "baseline": {
                "hint": "Si este operador ya tenía operaciones antes de unirse a la plataforma (por ejemplo, en un sistema anterior), introduce aquí sus totales una sola vez. El panel del operador los suma a sus operaciones reales y continuas.",
                "total_trades": "Total de operaciones inicial",
                "profitable_trades": "Operaciones rentables iniciales",
                "pl_percent": "P/L % inicial",
                "save": "Guardar base",
                "saving": "Guardando...",
                "saved": "Base guardada correctamente"
            }
        }
    },
    "months": {
        "jan": "Ene",
        "feb": "Feb",
        "mar": "Mar",
        "apr": "Abr",
        "may": "May",
        "jun": "Jun",
        "jul": "Jul",
        "aug": "Ago",
        "sep": "Sep",
        "oct": "Oct",
        "nov": "Nov",
        "dec": "Dic"
    },
    "pagination": {
        "previous": "Anterior",
        "next": "Siguiente",
        "showing": "Mostrando",
        "of": "de",
        "entries": "registros"
    },
    "dashboard": {
        "welcome": "Bienvenido de nuevo",
        "total_traders": "Total de operadores",
        "total_investors": "Total de inversores",
        "recent_activity": "Actividad reciente",
        "combined_users": "Usuarios combinados",
        "combined_users_sub": "Operadores + inversores combinados",
        "orders_today_pill": "Hoy",
        "orders_today": "Órdenes realizadas hoy",
        "view_order_logs": "Ver registros de órdenes",
        "last_30_days": "Últimos 30 días",
        "success_rate": "Tasa de éxito de órdenes",
        "executed": "ejecutadas",
        "email_delivery": "Tasa de entrega de correo",
        "view_email_logs": "Ver registros de correo",
        "system_health": "Estado del sistema",
        "sahme_brokers": "Brokers de la API Sahme",
        "copy_trading_apis": "APIs de Copy Trading",
        "no_activity": "Aún no hay actividad reciente.",
        "unknown_user": "Usuario desconocido",
        "time_just_now": "Justo ahora",
        "time_minutes_ago": "hace {n} minutos",
        "time_minute_ago": "hace 1 minuto",
        "time_hours_ago": "hace {n} horas",
        "time_hour_ago": "hace 1 hora",
        "time_days_ago": "hace {n} días",
        "time_day_ago": "hace 1 día",
        "time_months_ago": "hace {n} meses",
        "time_month_ago": "hace 1 mes",
        "time_years_ago": "hace {n} años",
        "time_year_ago": "hace 1 año",
        "activity": {
            "login": "inició sesión",
            "logout": "cerró sesión",
            "created_user": "creó un usuario",
            "updated_user": "actualizó un usuario",
            "deleted_user": "eliminó un usuario",
            "investor_register": "se registró como inversor",
            "trader_order_place": "realizó una orden",
            "trader_broker_connect": "conectó un broker",
            "trader_broker_disconnect": "desconectó un broker",
            "investor_broker_connect": "conectó un broker",
            "investor_broker_disconnect": "desconectó un broker",
            "placed_copy_trade": "realizó una operación de copia",
            "created_api_broker": "añadió un broker de API",
            "updated_settings": "actualizó la configuración de la plataforma",
            "sent_test_email": "envió un correo de prueba",
            "reset_password": "restableció su contraseña",
            "created_employee": "creó un empleado",
            "updated_employee": "actualizó un empleado",
            "updated_employee_permissions": "actualizó los permisos de un empleado",
            "deleted_employee": "eliminó un empleado"
        }
    },
    "settings": {
        "page_subtitle": "Administra el envío de correo y la identidad de la plataforma.",
        "tabs": {
            "email": "Correo",
            "branding": "Identidad",
            "email_templates": "Plantillas de correo",
            "trader_layout": "Diseño del portal de traders",
            "investor_limits": "Límites de bróker",
            "copy_trading": "Copy Trading"
        },
        "groups": {
            "communication": "Comunicación",
            "appearance": "Apariencia",
            "trading": "Reglas de trading"
        },
        "investor_registration": {
            "title": "Registro de inversores",
            "subtitle": "Controla si los nuevos inversores pueden crear su propia cuenta.",
            "enabled_label": "Permitir el autorregistro de inversores",
            "enabled_hint": "Cuando está habilitado, cualquiera puede crear una cuenta de inversor desde la página de registro. Cuando está deshabilitado, la página de registro se cierra y solo un administrador puede crear cuentas nuevas.",
            "saving": "Guardando...",
            "saved": "Configuración de registro guardada correctamente",
            "error": "Ocurrió un error. Por favor, inténtalo de nuevo."
        },
        "investor_limits": {
            "title": "Límites de cuentas de bróker",
            "subtitle": "Controla cuántas cuentas de bróker puede conectar cada inversor a la vez.",
            "label": "Máximo de cuentas de bróker por inversor",
            "hint": "Los inversores no podrán agregar otra conexión de bróker al alcanzar este número.",
            "footer_note": "Bajar este valor no desconectará las cuentas de bróker existentes: los inversores que ya estén en el límite o por encima de él simplemente no podrán agregar otra hasta volver a estar por debajo.",
            "save": "Guardar cambios",
            "saving": "Guardando...",
            "saved": "Límite de bróker guardado correctamente",
            "error": "Ocurrió un error. Por favor, inténtalo de nuevo."
        },
        "copy_trading": {
            "title": "Copy Trading",
            "subtitle": "Controla si los traders pueden elegir qué seguidores reciben cada operación copiada.",
            "allow_follower_selection_label": "Permitir a los traders elegir seguidores",
            "allow_follower_selection_hint": "Cuando está activado, el formulario de Compra/Venta Copy Trading permite al trader desmarcar seguidores individuales antes de abrir una operación. Cuando está desactivado, siempre se incluyen todos los seguidores elegibles.",
            "deny_investor_close_label": "Impedir que los inversores cierren operaciones",
            "deny_investor_close_hint": "Cuando está activado, los inversores no verán el botón Cerrar en su portafolio de Copy Trades y no podrán cerrar sus posiciones por sí mismos.",
            "allow_unlink_followers_label": "Permitir a los traders desvincular seguidores",
            "allow_unlink_followers_hint": "Cuando está activado, los traders tienen un botón Desvincular en su página de Seguidores para dejar de ser seguidos por un inversor. Cuando está desactivado, solo el inversor puede terminar esa relación (eligiendo otro trader).",
            "copy_ratio_mode_label": "Ratio de copia",
            "copy_ratio_mode_hint": "Cómo se decide el multiplicador de lotes de cada seguidor. Automático lo calcula según el saldo de su cuenta; Manual permite definirlo por seguidor en la página de Inversores.",
            "copy_ratio_mode_auto": "Automático (según el saldo de la cuenta)",
            "copy_ratio_mode_manual": "Manual (definido por seguidor)",
            "balance_per_unit_label": "Saldo por multiplicador",
            "balance_per_unit_hint": "Un seguidor obtiene una unidad del volumen del trader por cada esta cantidad en su cuenta, solo unidades enteras. Con 2500, un saldo de 5.000 opera al 2x. Nunca por debajo de 1x.",
            "footer_note": "Estos ajustes se aplican a toda la plataforma y entran en vigor de inmediato para todos los traders e inversores, sin necesidad de reiniciar ni volver a iniciar sesión.",
            "save": "Guardar cambios",
            "saving": "Guardando...",
            "saved": "Configuración de copy trading guardada correctamente",
            "error": "Ocurrió un error. Por favor, inténtalo de nuevo."
        },
        "trader_layout": {
            "title": "Diseño del portal de traders",
            "subtitle": "Elige los colores principales usados en el portal de traders (panel e inicio de sesión).",
            "preview_hint": "Vista previa",
            "primary_color": "Color primario",
            "secondary_color": "Color secundario",
            "reset_default": "Restablecer valores predeterminados",
            "save": "Guardar cambios",
            "saving": "Guardando...",
            "saved": "Diseño del portal de traders guardado correctamente",
            "error": "Ocurrió un error. Por favor, inténtalo de nuevo."
        },
        "branding": {
            "title": "Identidad",
            "subtitle": "Personaliza cómo aparece el nombre de tu plataforma en todo el sitio.",
            "favicon": "Favicon",
            "favicon_hint": "Se muestra en la pestaña del navegador en todas las páginas. PNG, ICO o JPG, hasta 512KB.",
            "favicon_choose": "Elegir archivo",
            "favicon_upload": "Subir",
            "favicon_uploading": "Subiendo...",
            "favicon_saved": "Favicon actualizado correctamente",
            "favicon_error": "No se pudo subir el favicon. Inténtalo de nuevo.",
            "site_name": "Nombre del sitio web",
            "site_name_hint": "Se muestra en la barra lateral y en la pestaña del navegador de todo el panel de administración.",
            "save": "Guardar cambios",
            "saving": "Guardando...",
            "saved": "Identidad guardada correctamente",
            "error": "Ocurrió un error. Inténtalo de nuevo."
        },
        "email": {
            "title": "Correo (Mailgun)",
            "subtitle": "Configura tus credenciales de Mailgun a continuación y luego envía un correo de prueba para confirmar que todo funciona.",
            "checking": "Comprobando configuración...",
            "configured": "Mailgun está configurado y listo para enviar",
            "not_configured": "Mailgun no está configurado por completo. Completa la clave de API, el dominio y la dirección de remitente y guarda.",
            "api_key": "Clave de API de Mailgun",
            "api_key_placeholder": "key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "api_key_hint": "Obtén esto desde tu panel de Mailgun.",
            "api_key_hint_edit": "Déjalo en blanco para mantener la clave actual.",
            "domain": "Dominio",
            "region": "Región",
            "region_us": "EE. UU.",
            "region_eu": "UE",
            "from": "Dirección del remitente",
            "from_name": "Nombre del remitente",
            "save": "Guardar configuración",
            "saving": "Guardando...",
            "saved": "Configuración guardada correctamente",
            "test_title": "Enviar correo de prueba",
            "test_label": "Enviar un correo de prueba a",
            "test_placeholder": "tu@ejemplo.com",
            "send_test": "Enviar correo de prueba",
            "sending": "Enviando...",
            "sent": "Correo de prueba enviado correctamente",
            "invalid_email": "Introduce una dirección de correo electrónico válida",
            "sandbox_note": "Si usas un dominio sandbox de Mailgun, el destinatario debe agregarse primero como destinatario autorizado en tu panel de Mailgun.",
            "error": "Ocurrió un error. Inténtalo de nuevo."
        },
        "email_templates": {
            "subject_label": "Asunto",
            "body_label": "Cuerpo",
            "save": "Guardar plantillas",
            "saving": "Guardando...",
            "saved": "Plantillas guardadas correctamente",
            "error": "Ocurrió un error. Inténtalo de nuevo.",
            "test_label": "Enviar una prueba de esta plantilla a",
            "send_test": "Enviar correo de prueba",
            "sending": "Enviando...",
            "test_sent": "Correo de prueba enviado correctamente",
            "types": {
                "welcome_investor": {
                    "tab_label": "Correo de bienvenida",
                    "tab_hint": "Se envía al crear una cuenta de inversor",
                    "title": "Correo de bienvenida",
                    "subtitle": "Contenido enviado a un nuevo inversor cuando se crea su cuenta, por idioma.",
                    "placeholders_hint": "Marcadores disponibles: {{name}}, {{email}}, {{password}}, {{login_url}}, {{app_name}}"
                },
                "welcome_trader": {
                    "tab_label": "Correo de bienvenida al trader",
                    "tab_hint": "Se envía al crear una cuenta de trader",
                    "title": "Correo de bienvenida al trader",
                    "subtitle": "Contenido enviado a un nuevo trader cuando se crea su cuenta, por idioma.",
                    "placeholders_hint": "Marcadores disponibles: {{name}}, {{email}}, {{password}}, {{login_url}}, {{app_name}}"
                },
                "password_reset": {
                    "tab_label": "Correo de restablecimiento de contraseña",
                    "tab_hint": "Se envía cuando un usuario solicita restablecer su contraseña",
                    "title": "Correo de restablecimiento de contraseña",
                    "subtitle": "Contenido enviado cuando un usuario solicita un enlace para restablecer su contraseña, por idioma.",
                    "placeholders_hint": "Marcadores disponibles: {{name}}, {{email}}, {{reset_url}}, {{app_name}}, {{expiry_minutes}}"
                },
                "welcome_employee": {
                    "tab_label": "Correo de bienvenida de empleado",
                    "tab_hint": "Se envía cuando se crea una cuenta de empleado",
                    "title": "Correo de bienvenida de empleado",
                    "subtitle": "Contenido enviado a un nuevo empleado cuando se crea su cuenta, por idioma.",
                    "placeholders_hint": "Marcadores disponibles: {{name}}, {{email}}, {{password}}, {{login_url}}, {{app_name}}"
                }
            }
        }
    },
    "email_logs": {
        "title": "Registros de correo",
        "subtitle": "Todos los correos enviados por la plataforma, con su estado de entrega.",
        "search_placeholder": "Buscar por destinatario o asunto...",
        "filter_all": "Todos los estados",
        "filter_sent": "Enviado",
        "filter_failed": "Fallido",
        "table": {
            "recipient": "Destinatario",
            "subject": "Asunto",
            "type": "Tipo",
            "status": "Estado",
            "sent_at": "Enviado el",
            "actions": "Acciones"
        },
        "status_sent": "Enviado",
        "status_failed": "Fallido",
        "type_welcome_investor": "Correo de bienvenida",
        "type_welcome_trader": "Correo de bienvenida al trader",
        "type_password_reset": "Correo de restablecimiento de contraseña",
        "type_test_email": "Correo de prueba",
        "view_details": "Ver detalles",
        "details": {
            "title": "Detalles del registro de correo",
            "recipient": "Destinatario",
            "subject": "Asunto",
            "type": "Tipo",
            "status": "Estado",
            "sent_at": "Enviado el",
            "triggered_by": "Enviado por",
            "message_id": "ID de mensaje del proveedor",
            "error": "Error",
            "close": "Cerrar"
        },
        "empty": "No se encontraron registros de correo",
        "loading": "Cargando...",
        "messages": {
            "error": "Ocurrió un error. Inténtalo de nuevo."
        }
    },
    "order_logs": {
        "title": "Registros de órdenes",
        "subtitle": "Todas las solicitudes de órdenes de compra/venta realizadas por los operadores, con los detalles de la solicitud/respuesta de WT5.",
        "search_placeholder": "Buscar por nombre o correo del operador...",
        "login_placeholder": "Filtrar por ID de inicio de sesión...",
        "filter_all_sides": "Todos los tipos",
        "side_buy": "Compra",
        "side_sell": "Venta",
        "filter_all_statuses": "Todos los estados",
        "status": {
            "executed": "Ejecutada",
            "notification_timeout": "Sin confirmar (tiempo agotado)",
            "order_place_timeout": "Sin confirmar (tiempo agotado al colocar la orden)",
            "notification_rejected": "Rechazada por el bróker",
            "wt5_rejected": "Rechazada (error de WT5)",
            "validation_failed": "Validación fallida",
            "instrument_not_tradable": "Instrumento no negociable",
            "instrument_not_found": "Instrumento no encontrado",
            "session_expired": "Sesión expirada",
            "broker_not_connected": "Bróker no conectado",
            "wt5_account_error": "Error de cuenta WT5",
            "wt5_instrument_error": "Error de instrumento WT5"
        },
        "table": {
            "id": "ID",
            "trader": "Operador",
            "login": "ID de inicio de sesión",
            "side": "Tipo",
            "amount": "Cantidad",
            "status": "Estado",
            "placed_at": "Fecha de la orden",
            "actions": "Acciones"
        },
        "view_details": "Ver detalles",
        "refresh_status": "Volver a comprobar el estado en WT5",
        "details": {
            "title": "Detalles del registro de la orden",
            "id": "ID de registro",
            "trader": "Operador",
            "login": "ID de inicio de sesión",
            "broker": "Bróker",
            "instrument_id": "ID de instrumento",
            "side": "Tipo",
            "amount": "Cantidad",
            "sl": "Stop Loss",
            "tp": "Take Profit",
            "status": "Estado",
            "http_status": "Estado HTTP",
            "request_id": "ID de solicitud WT5",
            "ip_address": "Dirección IP",
            "placed_at": "Fecha de la orden",
            "request_payload": "Solicitud (desde el navegador)",
            "wt5_request_payload": "Solicitud enviada a WT5",
            "wt5_response_payload": "Respuesta de WT5",
            "response_payload": "Respuesta enviada al navegador",
            "close": "Cerrar"
        },
        "empty": "No se encontraron registros de órdenes",
        "loading": "Cargando...",
        "messages": {
            "error": "Ocurrió un error. Inténtalo de nuevo."
        }
    },
    "common": {
        "loading": "Cargando...",
        "error": "Error",
        "success": "Éxito",
        "warning": "Advertencia",
        "close": "Cerrar",
        "language": "Idioma",
        "confirm": "Confirmar",
        "cancel": "Cancelar"
    },
    "api_brokers": {
        "title": "Brokers de la API Sahme",
        "subtitle": "Gestionar conexiones de brokers externos",
        "search_placeholder": "Buscar por nombre...",
        "add_new": "Añadir broker",
        "table": {
            "name": "Nombre",
            "api_connection": "Conexión API",
            "status": "Estado",
            "created": "Creado",
            "actions": "Acciones"
        },
        "default_badge": "Predeterminado",
        "wt5_set": "WT5 configurado",
        "wt5_not_set": "WT5 no configurado",
        "status_active": "Activo",
        "status_inactive": "Inactivo",
        "actions_edit": "Editar",
        "actions_delete": "Eliminar",
        "loading": "Cargando...",
        "empty": "No se encontraron brokers",
        "modal": {
            "add_title": "Añadir broker",
            "edit_title": "Editar broker"
        },
        "form": {
            "name": "Nombre",
            "name_placeholder": "p. ej. Sahmee",
            "wt5_api_url": "URL de la API WT5",
            "wt5_api_url_placeholder": "https://pro.sahmeetrading.com/wt5",
            "active": "Activo",
            "set_default": "Establecer como predeterminado",
            "cancel": "Cancelar",
            "save": "Guardar",
            "saving": "Guardando...",
            "name_required": "El nombre es obligatorio (mín. 2 caracteres)"
        },
        "messages": {
            "created": "Broker creado correctamente",
            "updated": "Broker actualizado correctamente",
            "deleted": "Broker eliminado correctamente",
            "error": "Ocurrió un error. Inténtalo de nuevo."
        },
        "delete": {
            "title": "Eliminar broker",
            "confirm": "¿Seguro que deseas eliminar",
            "warning": "Esta acción no se puede deshacer.",
            "cancel": "Cancelar",
            "delete_btn": "Eliminar",
            "deleting": "Eliminando..."
        }
    },
    "copy_trading_api": {
        "title": "API de Copy Trading",
        "subtitle": "Gestionar conexiones de la API de copy trading",
        "search_placeholder": "Buscar por URL...",
        "add_new": "Añadir API",
        "table": {
            "url": "URL",
            "api_key": "Clave API",
            "created": "Creado",
            "actions": "Acciones"
        },
        "actions_edit": "Editar",
        "actions_delete": "Eliminar",
        "loading": "Cargando...",
        "empty": "No se encontraron entradas",
        "modal": {
            "add_title": "Añadir API",
            "edit_title": "Editar API"
        },
        "form": {
            "url": "URL",
            "url_placeholder": "https://example.com/copy-trading",
            "api_key": "Clave API",
            "api_key_placeholder": "Introduce la clave API",
            "cancel": "Cancelar",
            "save": "Guardar",
            "saving": "Guardando...",
            "url_required": "La URL es obligatoria",
            "api_key_required": "La clave API es obligatoria (mín. 2 caracteres)"
        },
        "messages": {
            "created": "Entrada creada correctamente",
            "updated": "Entrada actualizada correctamente",
            "deleted": "Entrada eliminada correctamente",
            "error": "Ocurrió un error. Inténtalo de nuevo."
        },
        "delete": {
            "title": "Eliminar entrada de API",
            "confirm": "¿Seguro que deseas eliminar",
            "warning": "Esta acción no se puede deshacer.",
            "cancel": "Cancelar",
            "delete_btn": "Eliminar",
            "deleting": "Eliminando..."
        }
    },
    "custom_menu_links": {
        "title": "Enlaces de Menú Personalizados",
        "subtitle": "Gestionar enlaces adicionales mostrados en el menú del inversor",
        "search_placeholder": "Buscar por título...",
        "add_new": "Añadir Enlace",
        "table": {
            "title": "Título",
            "url": "URL",
            "order": "Orden",
            "status": "Estado",
            "actions": "Acciones"
        },
        "status_active": "Activo",
        "status_inactive": "Inactivo",
        "actions_edit": "Editar",
        "actions_delete": "Eliminar",
        "loading": "Cargando...",
        "empty": "No se encontraron enlaces",
        "modal": {
            "add_title": "Añadir Enlace",
            "edit_title": "Editar Enlace"
        },
        "form": {
            "title": "Título",
            "title_placeholder": "p. ej. Soporte",
            "url": "URL",
            "url_placeholder": "https://example.com",
            "sort_order": "Orden",
            "is_active": "Activo",
            "cancel": "Cancelar",
            "save": "Guardar",
            "saving": "Guardando...",
            "title_required": "El título es obligatorio",
            "url_required": "La URL es obligatoria"
        },
        "messages": {
            "created": "Enlace creado correctamente",
            "updated": "Enlace actualizado correctamente",
            "deleted": "Enlace eliminado correctamente",
            "error": "Ocurrió un error. Inténtalo de nuevo."
        },
        "delete": {
            "title": "Eliminar Enlace",
            "confirm": "¿Seguro que deseas eliminar",
            "warning": "Esta acción no se puede deshacer.",
            "cancel": "Cancelar",
            "delete_btn": "Eliminar",
            "deleting": "Eliminando..."
        }
    },
    "copy_trade_instruments": {
        "title": "Instrumentos de Copy Trading",
        "subtitle": "Asignar símbolos a los ID de instrumento de Spencer (copy-trading-api)",
        "search_placeholder": "Buscar por símbolo...",
        "add_new": "Añadir asignación",
        "table": {
            "symbol": "Símbolo",
            "instrument_id": "ID de instrumento",
            "created": "Creado",
            "actions": "Acciones"
        },
        "actions_edit": "Editar",
        "actions_delete": "Eliminar",
        "loading": "Cargando...",
        "empty": "No se encontraron asignaciones",
        "modal": {
            "add_title": "Añadir asignación",
            "edit_title": "Editar asignación"
        },
        "form": {
            "symbol": "Símbolo",
            "symbol_placeholder": "EURUSD",
            "instrument_id": "ID de instrumento",
            "instrument_id_placeholder": "42",
            "cancel": "Cancelar",
            "save": "Guardar",
            "saving": "Guardando...",
            "symbol_required": "El símbolo es obligatorio",
            "instrument_id_invalid": "El ID de instrumento debe ser un número positivo"
        },
        "messages": {
            "created": "Asignación creada correctamente",
            "updated": "Asignación actualizada correctamente",
            "deleted": "Asignación eliminada correctamente",
            "error": "Ocurrió un error. Inténtalo de nuevo."
        },
        "delete": {
            "title": "Eliminar asignación",
            "confirm": "¿Seguro que deseas eliminar",
            "warning": "Esta acción no se puede deshacer.",
            "cancel": "Cancelar",
            "delete_btn": "Eliminar",
            "deleting": "Eliminando..."
        }
    },
    "portal": {
        "trader_portal": "Portal del Operador",
        "investor_portal": "Portal del Inversor",
        "admin_panel": "Panel de Administración",
        "menu": "Menú",
        "main_menu": "Menú Principal",
        "system": "Sistema",
        "logs": "Registros",
        "api": "API",
        "links": "Enlaces"
    },
    "admin": {
        "manage_investors": "Administrar cuentas de inversores"
    },
    "broker_modal": {
        "title": "Conectar Bróker",
        "broker_label": "Bróker",
        "login_label": "ID de inicio de sesión",
        "password_label": "Contraseña",
        "loading_brokers": "Cargando brókers...",
        "remember": "Recordar mis credenciales para que este bróker se reconecte automáticamente",
        "cancel": "Cancelar",
        "connect": "Conectar",
        "connect_btn": "Conectar Bróker",
        "disconnect_title": "Desconectar Bróker",
        "disconnect_confirm": "¿Estás seguro de que deseas cerrar sesión en",
        "disconnect": "Desconectar"
    },
    "footer": {
        "balance": "Saldo",
        "equity": "Capital",
        "floating_pl": "G/P Flotante",
        "free_margin": "Margen Libre",
        "used_margin": "Margen Usado",
        "margin_level": "Nivel de Margen",
        "idle": "Inactivo",
        "stream_error": "Stream desconectado. Los precios pueden estar desactualizados."
    },
    "trader_dash": {
        "page_title": "Panel",
        "no_broker_title": "Sin bróker conectado",
        "no_broker_desc": "Conecta tu cuenta de trading para ver tu panel y rendimiento.",
        "connect_broker": "Conectar Bróker",
        "welcome": "Bienvenido de nuevo,",
        "active_trader": "Operador Activo",
        "trading_performance": "Rendimiento de Trading",
        "perf_12m": "Todos los valores relativos se muestran para los últimos 12 meses",
        "followers": "Seguidores",
        "pl": "G/P",
        "total_trades": "Operaciones Totales",
        "profitable_trades": "Operaciones Rentables",
        "performance": "Rendimiento",
        "baseline_note": "* Estimado desde una base inicial ingresada por el administrador (aún no hay datos de operaciones para ese mes)"
    },
    "trademarket": {
        "page_title": "Mercado de Trading",
        "no_broker_title": "Sin bróker conectado",
        "no_broker_desc": "Conecta tu cuenta de trading para ver todos los símbolos disponibles y precios en vivo.",
        "connect_broker": "Conectar Bróker",
        "loading_instruments": "Cargando instrumentos...",
        "load_error": "No se pudieron cargar los instrumentos",
        "instruments": "Instrumentos",
        "search_symbol": "Buscar símbolo...",
        "th_symbol": "Símbolo",
        "th_type": "Tipo",
        "th_bid": "Bid",
        "th_ask": "Ask",
        "th_actions": "Acciones",
        "no_instruments": "No hay instrumentos que coincidan con tu búsqueda.",
        "stream_error": "Stream desconectado. Los precios pueden estar desactualizados.",
        "retry": "Reintentar",
        "buy_copy_trade": "Compra Copy Trading",
        "sell_copy_trade": "Venta Copy Trading",
        "copy_trade_price": "Precio",
        "copy_trade_volume": "Volumen en cantidad",
        "order_type": "Tipo de orden",
        "order_type_market": "Mercado",
        "order_type_limit": "Límite",
        "desired_price": "Precio deseado",
        "desired_price_hint": "La orden queda pendiente hasta que el mercado alcance este precio.",
        "copy_trade_investors": "Inversores",
        "select_all": "Seleccionar todo",
        "select_none": "No seleccionar ninguno",
        "open_trade": "Abrir operación",
        "optional": "Opcional",
        "copy_trade_intro": "Abre esta operación para tu cuenta Spencer más todos los seguidores con un ID de cuenta Spencer configurado, a través de la API de copy trading."
    },
    "portfolio": {
        "page_title": "Portafolio",
        "no_broker_title": "Sin bróker conectado",
        "no_broker_desc_trader": "Conecta tu cuenta de trading para ver tus posiciones abiertas e historial de operaciones.",
        "no_broker_desc_investor": "Conecta tu cuenta de bróker para ver tus posiciones abiertas e historial de operaciones.",
        "connect_broker": "Conectar Bróker",
        "tab_positions": "Posiciones",
        "tab_orders": "Órdenes",
        "tab_history": "Historial",
        "refresh": "Actualizar",
        "all_time": "Todo el tiempo",
        "today": "Hoy",
        "yesterday": "Ayer",
        "this_week": "Esta semana",
        "this_month": "Este mes",
        "last_month": "Mes anterior",
        "from": "Desde",
        "to": "Hasta",
        "origin_all": "Todos",
        "origin_platform": "Plataforma",
        "origin_copy_trades": "Copy Trades",
        "clear": "Limpiar",
        "search_symbol": "Buscar símbolo...",
        "th_symbol": "Símbolo",
        "th_direction": "Dirección",
        "th_amount": "Cantidad",
        "th_open_rate": "Precio de apertura",
        "th_order_rate": "Precio de orden",
        "th_sl": "Stop Loss",
        "th_tp": "Take Profit",
        "th_commission": "Comisión",
        "th_pl": "G/P",
        "th_origin": "Origen",
        "th_actions": "Acciones",
        "th_rate": "Precio",
        "th_close_rate": "Precio de cierre",
        "th_close_time": "Hora de cierre",
        "th_time": "Hora",
        "th_profit": "Beneficio",
        "th_details": "Detalles",
        "empty_positions": "Sin posiciones abiertas.",
        "empty_orders": "Sin órdenes pendientes.",
        "empty_history": "Sin operaciones cerradas para el período seleccionado.",
        "load_error": "No se pudieron cargar los datos",
        "error_msg": "Ocurrió un error. Inténtalo de nuevo."
    },
    "followers": {
        "page_title": "Seguidores",
        "total_followers": "Total de seguidores",
        "investors_following": "Inversores que te siguen",
        "refresh": "Actualizar",
        "loading": "Cargando...",
        "load_error": "No se pudieron cargar los datos",
        "error_msg": "Ocurrió un error. Inténtalo de nuevo.",
        "th_investor": "Inversor",
        "th_email": "Correo electrónico",
        "th_login": "Login",
        "th_status": "Estado",
        "th_copy_ratio": "Ratio",
        "th_joined": "Unido",
        "th_actions": "Acciones",
        "empty": "Aún nadie te sigue.",
        "unlink_title": "Desvincular seguidor",
        "unlink_confirm": "¿Estás seguro de que deseas desvincular a",
        "unlink_desc": "Dejarán de seguirte y de recibir tus copy trades.",
        "unlink_btn": "Desvincular"
    },
    "statement": {
        "page_title": "Estado de cuenta",
        "not_configured_title": "Estado de cuenta no disponible",
        "not_configured_desc": "Tu cuenta de copy trading aún no está configurada. Contacta a un administrador para configurarla.",
        "refresh": "Actualizar",
        "loading": "Cargando...",
        "load_error": "No se pudieron cargar los datos",
        "error_msg": "Ocurrió un error. Inténtalo de nuevo.",
        "filter_from": "Desde",
        "filter_to": "Hasta",
        "apply": "Aplicar",
        "clear": "Limpiar",
        "opening_balance": "Saldo inicial",
        "closing_balance": "Saldo final",
        "total_deposits": "Total de depósitos",
        "total_withdrawals": "Total de retiros",
        "total_closed_pnl": "Total P/L cerrado",
        "net": "Neto",
        "th_date": "Fecha",
        "th_type": "Tipo",
        "th_reference": "Referencia",
        "th_details": "Detalles",
        "th_amount": "Monto",
        "th_balance": "Saldo",
        "type_deposit": "Depósito",
        "type_withdrawal": "Retiro",
        "type_closed_pnl": "P/L cerrado",
        "empty": "No hay movimientos para el período seleccionado."
    },
    "revenue_report": {
        "page_title": "Informe de ingresos",
        "not_configured_title": "Informe de ingresos no disponible",
        "not_configured_desc": "Aún no tienes seguidores con una cuenta conectada, o el copy trading no está configurado. Contacta a un administrador si esto no es correcto.",
        "total_trades": "Total de operaciones",
        "total_lots": "Total de lotes",
        "total_commission": "Comisión total",
        "total_markup": "Margen total",
        "total_revenue": "Ingresos totales",
        "total_pnl": "P/L total",
        "th_account": "Cuenta",
        "th_follower": "Seguidor",
        "th_ticket": "Ticket",
        "th_symbol": "Símbolo",
        "th_direction": "Dirección",
        "th_lots": "Lotes",
        "th_rate": "Precio",
        "th_sl": "SL",
        "th_tp": "TP",
        "th_commission": "Comisión",
        "th_markup": "Margen",
        "th_revenue": "Ingresos",
        "th_pnl": "P/L",
        "direction_buy": "Compra",
        "direction_sell": "Venta",
        "empty": "No hay operaciones cerradas para el período seleccionado."
    },
    "profile": {
        "page_title": "Perfil",
        "subtitle": "Esto es lo que ven los inversores al ver tu perfil antes de elegir seguirte.",
        "photo_hint": "PNG, JPG o WEBP — hasta 3 MB",
        "headline_label": "Titular",
        "headline_placeholder": "p. ej. Operador de Forex, 8 años de experiencia",
        "headline_hint": "Una línea corta que los inversores ven de un vistazo.",
        "bio_label": "Biografía",
        "bio_placeholder": "Cuéntales a los inversores sobre tu estilo de trading, experiencia y enfoque...",
        "bio_hint": "Se muestra en tu perfil público.",
        "save": "Guardar cambios",
        "saving": "Guardando...",
        "saved": "Perfil guardado correctamente",
        "save_error": "No se pudo guardar el perfil. Inténtalo de nuevo."
    },
    "investor_dash": {
        "page_title": "Panel",
        "no_broker_title": "Sin bróker conectado",
        "no_broker_desc": "Conecta tu cuenta de bróker para continuar configurando tu panel.",
        "connect_broker": "Conectar Bróker",
        "no_trader_title": "Elige un operador para seguir",
        "no_trader_desc": "Elige un operador y tu panel mostrará su rendimiento mensual.",
        "loading_traders": "Cargando operadores...",
        "follow_trader": "Seguir a este operador",
        "welcome": "Bienvenido de nuevo,",
        "active_investor": "Inversor Activo",
        "following_trader": "Siguiendo al operador",
        "change_trader": "Cambiar operador",
        "unfollow_trader": "Dejar de seguir",
        "unfollow_confirm": "¿Estás seguro de que deseas dejar de seguir a este operador? Siempre puedes seguir a otro más adelante.",
        "unfollowed": "Has dejado de seguir al operador",
        "trader_performance": "Rendimiento del operador",
        "perf_12m": "Todos los valores relativos se muestran para los últimos 12 meses",
        "performance": "Rendimiento",
        "broker_accounts": "Tus cuentas de bróker",
        "add_broker": "Agregar bróker"
    },
    "investor_traders": {
        "page_title": "Operadores",
        "available_traders": "Operadores disponibles",
        "all_traders": "Todos los operadores",
        "empty": "Aún no hay operadores disponibles.",
        "load_error": "No se pudieron cargar los datos",
        "error_msg": "Ocurrió un error. Inténtalo de nuevo.",
        "refresh": "Actualizar"
    },
    "traders": {
        "follow_warning": "Al seguir a este operador, se podrían ejecutar operaciones de copia en su cuenta de bróker en su nombre. Asegúrese de entender los riesgos antes de continuar. ¿Continuar?",
        "switch_warning": "Cambiar de operador trasladará todas las futuras copias de operaciones al nuevo operador. Sus posiciones abiertas no se verán afectadas. ¿Continuar?",
        "unfollowed": "Has dejado de seguir a este operador"
    },
    "account": {
        "page_title": "Configuración de cuenta",
        "nav_label": "Cuenta",
        "profile_section": "Información del perfil",
        "password_section": "Cambiar contraseña",
        "name_label": "Nombre completo",
        "language_label": "Idioma",
        "current_password": "Contraseña actual",
        "new_password": "Nueva contraseña",
        "save_profile": "Guardar cambios",
        "save_password": "Cambiar contraseña",
        "saving": "Guardando...",
        "profile_saved": "Cambios guardados correctamente",
        "password_saved": "Contraseña cambiada correctamente",
        "field_required": "Este campo es obligatorio",
        "error": "Ocurrió un error. Inténtalo de nuevo.",
        "admin_subtitle": "Cambia tu nombre de usuario o contraseña."
    },
    "export": {
        "csv": "Exportar CSV"
    },
    "copy_trade_orders": {
        "page_title": "Órdenes de Copy Trading",
        "nav_label": "Órdenes de Copy Trading",
        "subtitle": "Todos los lotes de copy trading ejecutados por los operadores.",
        "followers": "Seguidores",
        "success": "Éxito"
    },
    "ratio_report": {
        "page_title": "Informe de Ratio",
        "nav_label": "Informe de Ratio",
        "subtitle": "Consulta exactamente cómo se calcularon los lotes de los seguidores en un lote de copy trading.",
        "trade_id_label": "ID de Operación Maestra",
        "trade_id_placeholder": "ej. 48213",
        "lookup_btn": "Buscar",
        "hint": "Funciona con el ID de cualquier operación — maestra o seguidora — el lote completo se muestra en ambos casos.",
        "empty_title": "Introduce un ID de operación arriba",
        "empty_subtitle": "Aquí se mostrará el resumen del lote y el desglose del ratio por seguidor.",
        "order_amount": "Monto de la Orden",
        "followers": "Seguidores",
        "success": "Exitosos",
        "placed_at": "Colocada",
        "th_role": "Rol",
        "th_account": "Cuenta",
        "th_trade_id": "ID de Operación",
        "th_balance": "Saldo",
        "th_multiplier": "Multiplicador",
        "th_lots": "Lotes",
        "th_status": "Estado"
    },
    "employees": {
        "title": "Empleados y Permisos",
        "subtitle": "Administra las cuentas de empleados y a qué pueden acceder",
        "search_placeholder": "Buscar por nombre o correo...",
        "add_new": "Añadir Empleado",
        "table": {
            "permissions": "Permisos",
            "pages": "páginas",
            "no_access": "Sin acceso"
        },
        "empty": "No se encontraron empleados",
        "form": {
            "create_title": "Crear Empleado",
            "edit_title": "Editar Empleado",
            "permissions": "Acceso a Páginas",
            "logs_explorer": "Explorador de Registros"
        },
        "delete": {
            "title": "Eliminar Empleado"
        }
    }
}
