{
  "common": {
    "close": "Cerrar",
    "copied": "Copiado",
    "saved": "Guardado",
    "error": "Error",
    "unavailable": "No disponible",
    "native_only_title": "Solo en la app nativa",
    "account_required_title": "Crea una cuenta",
    "account_required_text": "Necesitas una cuenta para usar esta función.",
    "backend_not_configured_title": "Backend aún no configurado",
    "backend_not_configured_text": "Esto necesita un backend conectado. Pide a tu desarrollador que ejecute \"kasy backend\".",
    "backend_not_configured_social_text": "El inicio de sesión social necesita un backend conectado. Pide a tu desarrollador que ejecute \"kasy backend\".",
    "light_mode": "Modo claro",
    "dark_mode": "Modo oscuro",
    "expand_sidebar": "Expandir barra lateral",
    "collapse_sidebar": "Contraer barra lateral",
    "hide_password": "Ocultar contraseña",
    "show_password": "Mostrar contraseña"
  },
  "init_error": {
    "title": "No se pudo iniciar la app",
    "description": "Verifica tu conexión a internet e inténtalo de nuevo"
  },
  "admin_console": {
    "tabs": {
      "overview": "Resumen",
      "users": "Usuarios",
      "requests": "Solicitudes",
      "tools": "Herramientas",
      "debug": "Depuración"
    },
    "back_to_app": "Volver a la app",
    "overview": {
      "section": "Proyecto",
      "summary": "Resumen",
      "backend": "Backend",
      "account": "Cuenta",
      "guest": "Invitado",
      "user_id": "ID de usuario",
      "build": "Versión",
      "session_title": "Sesión actual",
      "requests_metric": "Solicitudes de función",
      "total_users": "Usuarios totales",
      "subscribers": "Suscriptores",
      "new_7d": "Nuevos (7 días)",
      "signups_title": "Nuevos registros",
      "signups_subtitle": "Últimos 14 días",
      "signups_total": "$count en 14 días",
      "signups_empty": "Sin registros en este período.",
      "plan_split_title": "Distribución de planes",
      "free": "Gratis",
      "subscriber": "Suscriptor",
      "conversion": "$percent suscriben",
      "loaded_note": "Según los $count usuarios más recientes.",
      "users_hint": "Abre la pestaña Usuarios para gestionar todas las cuentas.",
      "debug_note": "Consola de depuración — visible solo en builds de desarrollo."
    },
    "users": {
      "title": "Usuarios",
      "search_hint": "Buscar por nombre o correo",
      "col_user": "Usuario",
      "col_status": "Estado",
      "col_plan": "Plan",
      "col_joined": "Registro",
      "status_active": "Registrado",
      "status_inactive": "Visitante",
      "plan_subscriber": "Suscriptor",
      "plan_free": "Gratis",
      "role_admin": "Admin",
      "empty": "No se encontraron usuarios",
      "empty_hint": "Cuando alguien cree una cuenta, aparecerá aquí.",
      "error": "No se pudieron cargar los usuarios. Asegúrate de ser admin.",
      "page": "Página $page de $total",
      "prev": "Anterior",
      "next": "Siguiente",
      "anonymous": "Anónimo",
      "filter_all": "Todos los usuarios",
      "filter_subscribers": "Suscriptores",
      "loading": "Cargando usuarios…",
      "results": "Mostrando $from a $to de $total",
      "truncated": "Mostrando los $count más recientes. La búsqueda cubre solo los cargados.",
      "search_capped": "La búsqueda escaneó un conjunto limitado. Pueden faltar coincidencias.",
      "empty_search": "Ningún usuario coincide con la búsqueda",
      "empty_search_hint": "Prueba con otro nombre o correo.",
      "empty_subscribers": "No se encontraron suscriptores",
      "empty_subscribers_hint": "Quien tenga el plan premium aparece en este filtro.",
      "refresh": "Actualizar",
      "retry": "Reintentar"
    },
    "requests": {
      "title": "Solicitudes de función",
      "subtitle": "Solicitudes y sugerencias enviadas por tus usuarios. Márcalas como visibles para mostrarlas en la app, u ocúltalas si no corresponden.",
      "empty": "Aún no hay solicitudes",
      "empty_hint": "Cuando un usuario envíe una idea, aparecerá aquí.",
      "votes": "$count votos",
      "visible": "Visible",
      "hidden": "Oculto",
      "edit": "Editar",
      "error": "No se pudieron cargar las solicitudes",
      "saved": "Solicitud actualizada",
      "editor_title": "Editar solicitud",
      "field_title": "Título",
      "field_description": "Descripción",
      "lang_en": "Inglés",
      "lang_pt": "Portugués",
      "lang_es": "Español",
      "visibility": "Visible para los usuarios",
      "save": "Guardar",
      "cancel": "Cancelar"
    },
    "groups": {
      "actions": "Acciones",
      "features": "Funciones",
      "preview": "Vista previa",
      "debug_actions": "Acciones de debug",
      "identity": "Identidad",
      "notification_test": "Prueba de notificación"
    },
    "paywalls": {
      "subtitle": "Toca un paywall para previsualizarlo. Copia su código para decirle al asistente cuál usar.",
      "copy_code": "Copiar código",
      "code_copied": "Código copiado al portapapeles",
      "solo_title": "Solo",
      "solo_desc": "Un solo plan con beneficios y un CTA. Ideal para apps de un tier.",
      "compare_title": "Comparar",
      "compare_desc": "Mensual vs anual lado a lado, con tabla free vs premium.",
      "trial_title": "Prueba gratis",
      "trial_desc": "Toggle de prueba gratis, normalmente en el anual. Mensual cobra al instante.",
      "unlock_title": "Desbloquear",
      "unlock_desc": "Paywall de conversión para onboarding o bloqueo fuerte."
    },
    "settings_entry": {
      "title": "Admin",
      "caption": "Visible solo para administradores y en modo de desarrollo."
    },
    "requires_admin": "Solo admins pueden ver esto.",
    "requires_admin_dev_hint": "Define role: admin en tu usuario en la base.\nLa app no puede cambiar este valor."
  },
  "home": {
    "title": "Ejemplo Kasy",
    "welcome": "Bienvenido al demo de Kasy",
    "cards": {
      "paywall_title": "Paywall",
      "paywall_description": "Ver la página de suscripción",
      "notification_title": "Prueba de notificación local",
      "notification_description": "Muestra una alerta solo en este dispositivo. No aparece en la pestaña Notificaciones (push).",
      "feedback_title": "Comentarios",
      "feedback_description": "Página de solicitud de funciones o votación",
      "signup_title": "Registro",
      "signup_description": "El usuario anónimo puede registrarse con correo o red social",
      "assistant_title": "Asistente IA",
      "assistant_description": "Chatear con el asistente de IA"
    },
    "features_page": {
      "title": "Recursos del kit",
      "assistant_title": "Chatea con la IA",
      "assistant_description": "Chat listo para preguntas, ideas y ayuda dentro de la app",
      "feedback_title": "Vota y sugiere",
      "feedback_description": "Participa en el roadmap: vota ideas o envía la tuya",
      "notification_title": "Probar notificación",
      "notification_description": "Muestra una alerta solo en este dispositivo (no es push)",
      "notification_demo_title": "Alerta de prueba",
      "notification_demo_body": "Notificación local del demo del kit",
      "send_push_title": "Enviar notificación push",
      "send_push_description": "Envía un push a usuarios específicos o a todos",
      "paywall_title": "Planes y suscripción",
      "paywall_description": "Pantallas de paywall, prueba y flujo RevenueCat"
    },
    "dashboard": {
      "brand": "kasy",
      "components_title": "Componentes",
      "components_subtitle": "Explora tokens de diseño y bloques de UI",
      "features_title": "Funciones",
      "features_subtitle": "IA, feedback, alertas y suscripción",
      "count_total": "$count en total",
      "search_hint": "Buscar componentes",
      "search_empty": "Ningún componente encontrado",
      "in_production": "En producción",
      "urgent_priority": "Prioridad urgente"
    },
    "components_preview": {
      "nav_title": "Componentes",
      "pro_badge": "PRO"
    },
    "design_system": {
      "title": "Design System",
      "section_colors": "Colores",
      "section_typography": "Tipografía",
      "section_effects": "Estilos de efecto",
      "section_radius": "Radio",
      "section_spacing": "Espaciado",
      "section_icon_sizes": "Tamaños de icono",
      "colors_intro": "Organizado por intención semántica, no por paletas crudas. Un conjunto pequeño de roles de color cubre la mayor parte de la interfaz. soft es translúcido (alpha); soft-fill es la mezcla opaca sobre surface para avatares y chips apilados. Cada rol se resuelve en el tema activo (alterna claro/oscuro en Ajustes para comparar ambos).",
      "pill_solid": "Sólido",
      "pill_soft": "Suave",
      "color_primary_name": "Primary",
      "color_primary_desc": "Relleno principal de marca para CTAs. Usado en acciones clave y foco. Claro `#0553B1`, oscuro `#2563EB` (Figma `brand/primary/base`).",
      "color_default_name": "Default",
      "color_default_desc": "La base neutra del sistema. Usada en la mayoría de elementos sin énfasis.",
      "color_success_name": "Success",
      "color_success_desc": "Comunica resultados positivos, confirmaciones y estados completados.",
      "color_warning_name": "Warning",
      "color_warning_desc": "Indica cautela o riesgo que requiere atención, pero no es destructivo.",
      "color_danger_name": "Danger",
      "color_danger_desc": "Representa acciones y estados destructivos, irreversibles o críticos.",
      "color_info_name": "Info",
      "color_info_desc": "Señales informativas neutras (tips, callouts de ayuda) que no son success, warning o danger.",
      "color_foreground_name": "Foreground",
      "color_foreground_desc": "Contenido principal como texto e iconos. Se adapta automáticamente al fondo y a las superficies.",
      "color_background_name": "Background",
      "color_background_desc": "El lienzo base de la interfaz. Define contraste y ambiente general sin llamar la atención.",
      "color_surface_name": "Surface",
      "color_surface_desc": "Contenedores como cards, paneles, modales y dropdowns. Separan capas por elevación.",
      "color_form_field_name": "Campo de formulario",
      "color_form_field_desc": "Tokens específicos para inputs y controles, con estados por defecto, hover y foco.",
      "color_separator_name": "Separator",
      "color_separator_desc": "Divisores, contornos y límites sutiles. Bajo contraste y discretos por diseño.",
      "color_other_name": "Otros",
      "color_other_desc": "Tokens utilitarios compartidos para bordes, overlays, controles segmentados y fondos. Bordes de chrome reflejan Figma `border/soft` (paneles overlay), `border/elevated`, `border/field`, `border/field-flat`, `border/subtle`, `border/strong`.",
      "typography_intro": "Poppins (familia única). Display / Heading 1–2 usan tracking -2,2% / -1%; cuerpo se mantiene en 0. Cada rol tiene tamaño y altura de línea explícitos por breakpoint: títulos bajan de desktop a mobile, mientras cuerpo y labels se mantienen constantes para lectura estable.",
      "bp_mobile": "Mobile",
      "bp_tablet": "Tablet",
      "bp_desktop": "Desktop",
      "spacing_intro": "De lib/core/theme/spacing.dart (KasySpacing). Una regla (0–160) refleja la colección 02 de Figma; alias con nombre (xs…xxxl) marcan los pasos usados en el layout. Gutters de página y chrome gap son contratos de layout separados.",
      "spacing_scale_heading": "Escala (0–160)",
      "spacing_layout_heading": "Layout",
      "radius_intro": "De lib/core/theme/radius.dart (KasyRadius). Alias semánticos (xs–full) mapean a la escala HeroUI rounded-*. KasyCard usa xl (24) por defecto.",
      "radius_semantic_heading": "Alias semánticos",
      "radius_rounded_heading": "Escala rounded",
      "effects_intro": "Sombras abajo son Effect Styles de Figma 01 vía helpers KasyShadows (mismas llamadas que KasyCard, KasyTextField, KasySwitch, KasyTabs, Menu / Dropdown / Popover). Inner usa BlurStyle.inner. Blur y foco usan frostedBlur, modalScrimBlur y focusRing.",
      "effects_shadows": "Sombras",
      "effects_blur": "Blur",
      "effects_focus": "Anillos de foco",
      "shadow_inner_title": "Inner",
      "shadow_inner_caption": "token inset · aún no usado en la UI",
      "shadow_card_title": "Card",
      "shadow_card_caption": "KasyCard · surface / cardElevated()",
      "shadow_field_title": "Field",
      "shadow_field_caption": "KasyTextField primary · inputField()",
      "shadow_switch_title": "Switch",
      "shadow_switch_caption": "KasySwitch thumb · switchControl",
      "shadow_tab_title": "Tab",
      "shadow_tab_caption": "KasyTabs pill · tabOf()",
      "shadow_overlay_title": "Overlay",
      "shadow_overlay_caption": "Menu · Dropdown · Popover · campana",
      "blur_title": "Blur",
      "blur_caption": "frosted · blur/frosted\n(KasyShadows.frostedBlur)",
      "backdrop_title": "Backdrop",
      "backdrop_caption": "scrim · blur/scrim\n(KasyModalScrim)",
      "focus_ring_title": "Focus Ring",
      "focus_ring_caption": "focusRing · 2 / 2",
      "focus_ring_field_title": "Focus Ring Field",
      "focus_ring_field_caption": "focusRingField · spread 2",
      "icons_intro": "De lib/core/theme/icon_sizes.dart (KasyIconSize). Fuente única para cada dimensión de icono en la app: de xxs (12) micro glifos hasta hero (72) en pantallas enfocadas. Alias semánticos mapean la escala a contextos comunes (leading/trailing de fila, chrome, inline).",
      "icons_aliases": "Alias semánticos: rowLeading 20 (icono leading de fila) · rowTrailing 16 (chevron / valor a la derecha) · chrome 20 (acciones del app bar) · inline 18 (chip / glifo inline)."
    },
    "feed": {
      "product_design_title": "Diseño de producto",
      "product_design_subtitle": "Objetos abstractos y elegantes",
      "background_title": "Fondos",
      "background_subtitle": "Ambiente escénico y soñador",
      "animated_title": "Animado",
      "animated_subtitle": "Minimalista y suave",
      "icons_3d_title": "Iconos 3D",
      "icons_3d_subtitle": "Iconos limpios y redondeados",
      "gradients_title": "Degradados",
      "gradients_subtitle": "Color suave y vivo"
    }
  },
  "auth": {
    "signin": {
      "title": "Bienvenido de nuevo",
      "subtitle": "Inicia sesión para continuar tu experiencia",
      "email_hint": "bruce@wayne.com",
      "email_label": "Correo electrónico",
      "password_hint": "Contraseña",
      "password_label": "Contraseña",
      "forgot_password": "Olvidé contraseña",
      "submit": "Continuar con correo",
      "create_account": "Crear mi cuenta",
      "no_account": "¿No tienes una cuenta?",
      "signup_link": "Regístrate",
      "continue_without": "Continuar sin cuenta",
      "or_sign_in_with": "o",
      "google": "Gmail",
      "continue_with_google": "Continuar con Google",
      "apple": "Apple",
      "facebook": "Facebook",
      "error_title": "Error",
      "error_text": "Correo, contraseña incorrectos o este correo no está registrado",
      "email_invalid": "Correo electrónico inválido",
      "password_required": "Debes ingresar una contraseña",
      "password_too_short": "Tu contraseña debe tener al menos 5 caracteres",
      "social_error": "No se pudo iniciar sesión con $provider",
      "apple_not_configured": "Inicio de sesión con Apple en la web aún no está configurado. Ejecuta kasy apple-web.",
      "facebook_not_configured": "Inicio de sesión con Facebook en la web aún no está configurado. Ejecuta kasy facebook.",
      "email_already_registered": "Este correo ya tiene una cuenta con otro método de inicio de sesión. Usa el método con el que te registraste."
    },
    "signup": {
      "title": "Regístrate ahora",
      "subtitle": "Crea tu cuenta para empezar",
      "submit": "Crear mi cuenta",
      "have_account": "¿Ya tienes una cuenta?",
      "signin_link": "Iniciar sesión",
      "already_have_account": "Ya tengo una cuenta",
      "error_title": "Error",
      "error_text": "Este correo ya existe o es inválido"
    },
    "recover": {
      "title": "Recuperar contraseña",
      "subtitle": "Te enviaremos un enlace para restablecerla",
      "email_label": "Correo electrónico",
      "submit": "Recuperar contraseña",
      "remember": "¿Recordaste tu contraseña?",
      "signin_link": "Iniciar sesión",
      "error_title": "Error",
      "error_text": "Ingresa un correo electrónico válido"
    }
  },
  "rate_popup": {
    "title": "¿Tienes 15 segundos para calificarnos?",
    "description": "¡Es rápido y muy útil! ¡Muchas gracias!",
    "cancel_button": "Quizás más tarde",
    "rate_button": "¡Sí, con gusto!"
  },
  "premium": {
    "title_1": "Desbloquea el acceso completo",
    "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
    "feature_1": "Característica 1 lorem ipsum",
    "feature_2": "Característica 2 mop issum",
    "feature_3": "Característica 3 lorem",
    "duration_weekly": "Semana",
    "duration_annual": "Año",
    "duration_monthly": "Mes",
    "duration_monthly_description": "Cancela cuando quieras",
    "duration_lifetime": "De por vida",
    "duration_lifetime_description": "Pago único",
    "restore_action": "Restaurar",
    "preview_disabled_title": "Vista previa",
    "preview_disabled_text": "Esta es una vista previa de administrador. Las acciones de compra están desactivadas.",
    "coupon_title": "¿Tienes un cupón?",
    "payment_cancel_reassurance": "Cancelación fácil con 1 clic, siempre",
    "payment_cancel_reassurance_free_trial": "Sin pago ahora, cancela cuando quieras",
    "payment_action": "Iniciar prueba gratuita",
    "payment_action_trial": "7 días gratis, luego $money",
    "try_free_btn_action": "Prueba gratis por $days días",
    "duration_recuring_label_annual": "Anual",
    "duration_recuring_label_monthly": "Mensual",
    "duration_recuring_label_weekly": "Semanal",
    "price_per_week": "/semana",
    "price_per_month": "/mes",
    "price_per_three_month": "/3 meses",
    "price_per_six_month": "/6 meses",
    "price_per_year": "/año",
    "price_one_time": "",
    "action_button": "Continuar",
    "terms": "Términos",
    "privacy": "Privacidad",
    "terms_of_use": "Términos de uso",
    "privacy_policy": "Política de privacidad",
    "error_loading": "Error al cargar las ofertas",
    "no_products_title": "Las opciones de suscripción aún no están disponibles",
    "no_products_description": "Inténtalo de nuevo en unos instantes. Si sigue ocurriendo, es posible que los productos de la tienda aún estén terminando la configuración.",
    "restore_success_title": "Suscripción restaurada",
    "restore_success_text": "Gracias por tu confianza",
    "purchase_success_title": "Suscripción realizada con éxito",
    "purchase_success_text": "Gracias por tu confianza",
    "error_title": "Error",
    "error_text": "Ocurrió un error. Inténtalo de nuevo",
    "web_checkout_timeout_title": "Pago no confirmado",
    "web_checkout_timeout_text": "No recibimos confirmación del pago. Si ya pagaste, toca Restaurar.",
    "restore_none_title": "No se encontró ninguna suscripción",
    "restore_none_text": "No encontramos una suscripción activa para restaurar.",
    "solo": {
      "back": "Volver",
      "headline_1": "Mejora para una",
      "headline_2": "experiencia sin anuncios",
      "feature_1": "Sin anuncios",
      "feature_2": "Modo sin conexión",
      "feature_3": "Saltos ilimitados",
      "feature_4": "Audio en alta calidad",
      "subscribe": "Suscribirse ahora"
    },
    "comparePlan": {
      "back": "Volver",
      "headline_1": "Elige tu plan",
      "headline_2": "que mejor te encaje",
      "headline_description": "Compara Gratis y Premium y elige la facturación mensual o anual que mejor te encaje.",
      "feature_1_title": "Acceso premium completo",
      "feature_1_subtitle": "Todas las funciones en todos tus dispositivos",
      "feature_2_title": "Sin anuncios",
      "feature_2_subtitle": "Enfócate sin interrupciones",
      "feature_3_title": "Sync en la nube",
      "feature_3_subtitle": "Continúa donde lo dejaste",
      "feature_4_title": "Soporte prioritario",
      "feature_4_subtitle": "Ayuda cuando la necesites",
      "continue_cta": "Continuar",
      "best_offer_badge": "Ahorra $percent%",
      "per_month_line": "$price facturado al año",
      "billed_monthly": "Facturación mensual",
      "billed_every": "Facturación por $period",
      "flexible_plan": "Facturación flexible",
      "plan_three_month": "3 meses",
      "plan_six_month": "6 meses",
      "billing_note": "Se renueva hasta cancelar. Gestiona en la tienda.",
      "billing_note_web": "Se renueva hasta cancelar. Gestiona en configuración.",
      "benefits_heading": "Incluido en el plan"
    },
    "trialPlan": {
      "title_before": "KASY ",
      "title_accent": "PRO",
      "subtitle": "Acceso a todas las funciones",
      "social_proof": "Únete a miles de usuarios de Kasy",
      "feature_1": "Funciones premium ilimitadas",
      "feature_2": "Exportación de alta calidad",
      "feature_3": "Sin anuncios ni marca de agua",
      "feature_4": "Sincroniza en todos tus dispositivos",
      "trial_toggle_enabled": "Prueba gratis activada",
      "trial_toggle_disabled": "Activar prueba gratis",
      "cta_trial": "Iniciar prueba gratis",
      "cta_no_trial": "Suscribirse ahora",
      "billing_trial": "$days días gratis, luego $price/año",
      "billing_annual": "$price/año"
    },
    "unlockPlan": {
      "headline_1": "DESBLOQUEA TODO",
      "headline_2": "CON POCOS TOQUES",
      "headline_desktop": "Desbloquea todo en instantes",
      "feature_1": "Crea más contenido",
      "feature_2": "Resultados más rápidos",
      "feature_3": "Menos tiempo de espera",
      "feature_4": "Sync en la nube",
      "feature_5": "Soporte prioritario",
      "cta": "Desbloquear ahora",
      "cta_desktop": "Desbloquear",
      "billing_note": "Renueva hasta cancelar. Gestiona en la tienda.",
      "billing_note_web": "Renueva hasta cancelar. Gestiona en configuración.",
      "plan_annual_price": "Solo $price / año",
      "plan_monthly_price": "$price / mes"
    },
    "comparison": {
      "title": "Comparación de planes Premium",
      "features_label": "Características",
      "free_version": "Gratis",
      "premium_version": "Premium",
      "no_ads": "Sin anuncios",
      "premium_themes": "Temas Premium",
      "advanced_customization": "Personalización avanzada",
      "priority_support": "Soporte prioritario",
      "home_widget": "Widgets en pantalla de inicio",
      "talk_with_assistant": "Asistente IA"
    }
  },
  "activePremium": {
    "title": "Eres un usuario premium",
    "description": "Disfruta todas las funciones",
    "unsubscribe_button": "Cancelar suscripción",
    "early_bird_description": "Usaste un cupón que te dio acceso gratuito a las funciones premium sin suscripción. ¡Disfrútalo!",
    "unsubscribe_feedback_title": "Ayúdanos a mejorar",
    "unsubscribe_feedback_description": "Lamentamos verte partir. ¿Podrías decirnos brevemente por qué te estás dando de baja?",
    "unsubscribe_feedback_hint": "Cuéntanos tu motivo...",
    "unsubscribe_feedback_min_chars": "Se requieren mínimo 6 caracteres",
    "unsubscribe_confirm_button": "Continuar",
    "lifetime_user_description": "Eres un usuario de por vida",
    "managed_elsewhere_title": "Suscripción en otra plataforma",
    "managed_elsewhere_description": "Esta suscripción se realizó en otra plataforma y no se puede gestionar ni cancelar aquí. Inicia sesión en tu cuenta en la plataforma donde la compraste.",
    "restore_button": "Restaurar compras",
    "cancel_button": "Cerrar",
    "billing_title": "Facturación",
    "plan_label": "Plan de cuenta",
    "plan_fallback": "Premium",
    "manage_subscription": "Administrar suscripción",
    "restore_purchases": "Restaurar compras",
    "renews_on": "Renueva el $date",
    "expires_on": "Expira el $date",
    "trial_label": "Evaluación gratuita",
    "trial_until": "Evaluación gratuita hasta el $date",
    "charges_from": "$price a partir del $date"
  },
  "onboarding": {
    "feature_1": {
      "title": "Monetiza desde el día uno",
      "description": "Paywalls, suscripciones y prueba gratis listos para producción. Sin crear backend de cobros.",
      "action": "Continuar",
      "skip": "Omitir",
      "login": "¿Ya tienes cuenta? Iniciar sesión"
    },
    "feature_2": {
      "title": "Inicio de sesión, ya resuelto",
      "description": "Correo, login social y recuperación de contraseña. Seguro y listo para publicar.",
      "action": "Continuar",
      "back": "Atrás"
    },
    "feature_3": {
      "title": "Tu asistente de IA integrado",
      "description": "Un asistente conversacional listo para usar, ya integrado.",
      "action": "Continuar"
    },
    "mockups": {
      "paywall": {
        "title": "Premium",
        "annual": "Anual",
        "monthly": "Mensual",
        "save_badge": "-40%",
        "price_year": "\\$39,99 / año",
        "price_month": "\\$4,99 / mes",
        "cta": "Iniciar prueba gratis"
      },
      "earnings": {
        "notify_title": "Nuevo suscriptor Pro",
        "notify_subtitle": "Plan anual · +\\$49.90",
        "notify_time": "1:40 PM",
        "processing": "Procesando pago…",
        "summary_label": "Ganancias",
        "summary_body": "Ganaste \\$312.40 esta semana de 14 nuevas suscripciones."
      },
      "auth": {
        "welcome": "Bienvenido de vuelta",
        "email_hint": "tu@email.com",
        "sign_in": "Iniciar sesión",
        "divider": "o"
      },
      "notification": {
        "title": "Nuevo mensaje",
        "time": "ahora"
      },
      "ai_chat": {
        "u1": "¿Qué puedes hacer?",
        "a1": "Escribo, resumo y respondo cualquier cosa en segundos.",
        "u2": "Resume mis notas",
        "a2": "Listo. Aquí tienes los 3 puntos clave de hoy."
      }
    },
    "ageQuestion": {
      "title": "¿Cuántos años tienes?",
      "description": "Esto nos ayuda a personalizar tu experiencia.",
      "options(map)": {
        "age18_30": "18 a 30",
        "age31_40": "31 a 40",
        "age41_50": "41 a 50",
        "age51_60": "Más de 50",
        "none": "Prefiero no decirlo"
      },
      "action": "Continuar"
    },
    "genderQuestion": {
      "title": "¿Cómo te identificas?",
      "description": "Elige lo que mejor te represente. Puedes omitir si prefieres.",
      "options(map)": {
        "male": "Masculino",
        "female": "Femenino",
        "none": "Prefiero no decirlo"
      },
      "action": "Continuar"
    },
    "notifications": {
      "title": "No te pierdas nada",
      "description": "Solo te escribiremos cuando de verdad importe. Nada de spam.",
      "continue_button": "Activar notificaciones",
      "skip_button": "Ahora no",
      "toasts": {
        "push_app_name": "Kasy",
        "push_headline": "Tu resumen semanal está listo",
        "push_body": "Toca para abrir.",
        "push_sent_at": "ahora",
        "subscriber_title": "Nuevo suscriptor Pro",
        "subscriber_message": "Plan anual · +\\$49,90",
        "streak_title": "¡Racha de 7 días!",
        "streak_message": "Volviste a cumplir tu meta diaria.",
        "message_title": "Nueva respuesta",
        "message_message": "Alguien respondió en tu conversación.",
        "reminder_title": "Empieza pronto",
        "reminder_message": "Tu sesión comienza en 10 minutos.",
        "payment_title": "Pago recibido",
        "payment_message": "+\\$12,50 acreditados en tu saldo.",
        "offer_title": "Oferta limitada",
        "offer_message": "50% en el plan anual — termina hoy.",
        "social_title": "Nueva interacción",
        "social_message": "3 personas dieron like a tu publicación."
      }
    },
    "att": {
      "title": "Experiencia personalizada",
      "description": "El permiso ayuda a ajustar comunicaciones a tu perfil. No muestra anuncios dentro de la app.",
      "continue_button": "Continuar",
      "skip_button": "Ahora no",
      "card": {
        "tag": "Privacidad"
      }
    },
    "loading": {
      "welcome": "Cuenta creada.",
      "welcome_male": "Cuenta creada. Bienvenido!",
      "welcome_female": "Cuenta creada. Bienvenida!",
      "steps": {
        "account": "Creando tu cuenta",
        "preferences": "Guardando tus preferencias",
        "ready": "Personalizando tu experiencia"
      }
    }
  },
  "feature_requests": {
    "title": "Ideas",
    "description": "Vota ideas o comparte la tuya. Cada voz define lo que construimos.",
    "community_ideas": "Ideas de la comunidad",
      "no_requests": "Sin ideas aún",
      "no_requests_hint": "Sé el primero en sugerir una función o mejora.",
    "vote_success": {
      "title": "Voto registrado",
      "description": "Gracias por ayudarnos a priorizar"
    },
    "vote_error": {
      "title": "Ya votado",
      "description": "Ya votaste por esta idea"
    },
    "vote_action": "Votar por $title",
    "remove_vote_action": "Quitar voto de $title",
    "add_feature": {
      "chip_label": "Agregar",
      "title": "Enviar una idea",
      "description": "Cuéntanos qué te gustaría ver en la app.",
      "save_button": "Enviar",
      "cancel": "Cancelar",
      "title_label": "Título",
      "title_hint": "Un título corto y descriptivo",
      "description_label": "Descripción",
      "description_hint": "Describe el recurso o la mejora en detalle...",
      "error_title": "Error",
      "error_required": "El título y la descripción son obligatorios",
      "error_sending": "Algo salió mal. Inténtalo de nuevo.",
      "error_too_short": "Descripción muy corta. Agrega más detalles",
      "toast_success": {
        "title": "Idea enviada",
        "description": "La revisaremos y te daremos una respuesta"
      }
    }
  },
  "update_bottom_sheet": {
    "title": "¿Qué hay de nuevo?",
    "description": "Hicimos algunas mejoras",
    "highlights": [
      "- Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
      "- Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
      "- Lorem ipsum dolor sit amet, consectetur adipiscing elit."
    ],
    "continue_button": "Entendido",
    "version_label": "Versión $version"
  },
  "update_available": {
    "title": "Actualización disponible",
    "description": "Hay una versión más nueva de la app. Actualiza para tener las últimas mejoras y correcciones.",
    "forced_title": "Actualización requerida",
    "forced_description": "Esta versión ya no es compatible. Actualiza para seguir usando la app.",
    "update_button": "Actualizar ahora",
    "later_button": "Ahora no"
  },
  "request_notification_permission": {
    "title": "¿Activar notificaciones?",
    "description": "Recibe actualizaciones en tiempo real y mantente al día con lo que importa.",
    "continue_button": "Activar",
    "skip_button": "Ahora no"
  },
  "notification_permission_denied": {
    "title": "Permiso requerido",
    "description": "Para recibir notificaciones, activa los permisos de notificación en la configuración de tu dispositivo.",
    "allow_button": "Permitir notificaciones",
    "open_settings_button": "Abrir configuración",
    "cancel_button": "Cancelar"
  },
  "review_popup": {
    "question_title": "¿Te gusta la app?",
    "question_description": "Tu respuesta nos ayuda a mejorar.",
    "question_positive": "Sí, me gusta",
    "question_negative": "Podría mejorar",
    "title": "¡Qué bueno que te guste!",
    "description": "Una reseña en la tienda marca la diferencia. Toma unos segundos y nos ayuda mucho a crecer.",
    "rate_button": "Escribir una reseña"
  },
  "navigation": {
    "home": "Inicio",
    "support": "Ayuda",
    "notifications": "Notificaciones",
    "settings": "Config.",
    "logout": "Salir",
    "skip_to_content": "Saltar al contenido"
  },
  "reminderPage": {
    "title": "Recordatorios",
    "toggleLabel": "Activar recordatorio",
    "typeLabel": "Repetir",
    "daily": "Cada día",
    "weekly": "Cada semana",
    "specificDate": "Una vez",
    "timeLabel": "Hora",
    "dayLabel": "Día de la semana",
    "dateLabel": "Fecha",
    "selectDate": "Seleccionar fecha",
    "hint": "Recibe un recordatorio para volver a la app",
    "summaryDaily": "Todos los días a las $time",
    "summaryWeekly": "Cada $day a las $time",
    "summaryDate": "El $date a las $time"
  },
  "time_picker": {
    "title": "Selecciona la hora",
    "placeholder": "Selecciona una hora",
    "hour": "Hora",
    "minute": "Minuto",
    "am": "AM",
    "pm": "PM",
    "confirm": "OK",
    "cancel": "Cancelar"
  },
  "dailyReminder": {
    "title": "Recordatorio",
    "body": "Es hora de beber un vaso de agua."
  },
  "settings": {
    "title": "Configuración",
    "avatar": {
      "title": "Foto de perfil",
      "take_photo": "Tomar foto",
      "choose_library": "Biblioteca de fotos",
      "remove_photo": "Eliminar foto",
      "cancel": "Cancelar",
      "upload_error_title": "Error al subir la foto",
      "upload_error_text": "No se pudo subir la foto. Intenta de nuevo."
    },
    "language_title": "Idiomas",
    "theme_title": "Tema",
    "theme_option_system": "Sistema",
    "theme_option_light": "Claro",
    "theme_option_dark": "Oscuro",
    "haptic_feedback_title": "Feedback háptico",
    "hide_chrome_on_scroll_title": "Ocultar barras al desplazar",
    "section_preferences_label": "PREFERENCIAS",
    "section_security_label": "SEGURIDAD",
    "section_support_label": "AYUDA",
    "biometric_title": "Bloqueo de la app",
    "biometric_subtitle_ios": "Pide Face ID o Touch ID al abrir con la sesión iniciada.",
    "biometric_subtitle_ios_face": "Exige Face ID al abrir con sesión iniciada.",
    "biometric_subtitle_ios_touch": "Exige Touch ID al abrir con sesión iniciada.",
    "biometric_subtitle_android": "Pediremos una verificación rápida en el teléfono cuando abras con sesión iniciada.",
    "biometric_subtitle_android_face": "Exige desbloqueo facial al abrir con sesión iniciada.",
    "biometric_subtitle_android_fingerprint": "Exige huella digital al abrir con sesión iniciada.",
    "biometric_subtitle_android_face_and_fingerprint": "Exige huella digital o desbloqueo facial al abrir con sesión iniciada.",
    "biometric_disable_title": "¿Desactivar bloqueo?",
    "biometric_disable_message": "Sin bloqueo, quien tenga el teléfono desbloqueado puede usar la app hasta que cierres sesión.",
    "biometric_disable_confirm": "Desactivar",
    "biometric_disable_cancel": "Cancelar",
    "biometric_enable_reason_ios": "Confirma con Face ID o Touch ID para activar el bloqueo",
    "biometric_enable_reason_ios_face": "Confirma con Face ID para activar el bloqueo",
    "biometric_enable_reason_ios_touch": "Confirma con Touch ID para activar el bloqueo",
    "biometric_enable_reason_android": "Confirma en el teléfono para activar el bloqueo",
    "biometric_enable_reason_android_face": "Confirma con reconocimiento facial para activar el bloqueo",
    "biometric_enable_reason_android_fingerprint": "Confirma con huella digital para activar el bloqueo",
    "biometric_enable_reason_android_face_and_fingerprint": "Confirma con huella o rostro para activar el bloqueo",
    "biometric_login_reason_ios": "Desbloquea con Face ID o Touch ID",
    "biometric_login_reason_ios_face": "Desbloquea con Face ID",
    "biometric_login_reason_ios_touch": "Desbloquea con Touch ID",
    "biometric_login_reason_android": "Confirma tu identidad",
    "biometric_login_reason_android_face": "Desbloquea con reconocimiento facial",
    "biometric_login_reason_android_fingerprint": "Desbloquea con huella digital",
    "biometric_login_reason_android_face_and_fingerprint": "Desbloquea con huella o rostro",
    "biometric_unavailable_message_ios": "Activa Face ID, Touch ID o código en Ajustes.",
    "biometric_unavailable_message_ios_face": "Activa Face ID o un código del dispositivo en Ajustes.",
    "biometric_unavailable_message_ios_touch": "Activa Touch ID o un código del dispositivo en Ajustes.",
    "biometric_unavailable_message_android": "Activa desbloqueo biométrico o bloqueo de pantalla en Ajustes.",
    "biometric_unavailable_message_android_face": "Configura reconocimiento facial o bloqueo de pantalla en ajustes.",
    "biometric_unavailable_message_android_fingerprint": "Configura huella digital o bloqueo de pantalla en ajustes.",
    "biometric_unavailable_message_android_face_and_fingerprint": "Añade huella o reconocimiento facial en Ajustes.",
    "biometric_not_enabled_message": "El bloqueo de la app no se activó.",
    "feedback": "Enviar comentarios",
    "premium": "Premium",
    "billing": "Facturación",
    "privacy": "Política de privacidad",
    "support": "Centro de ayuda",
    "disconnect": "Sí, salir",
    "disconnect_confirm_title": "¿Salir de tu cuenta?",
    "disconnect_confirm_message": "¿Seguro que quieres salir?",
    "disconnect_cancel": "Cancelar",
    "logout": "Cerrar sesión",
    "my_account": "Mi cuenta",
    "not_signed_in": "No conectado",
    "register": "Registrarse",
    "name_label": "Nombre",
    "edit": "Editar",
    "email_label": "Correo electrónico",
    "connected_with_label": "Conectado con",
    "provider_email": "Correo y contraseña",
    "provider_phone": "Teléfono",
    "create_password_title": "Crear contraseña",
    "create_password_subtitle": "Define una contraseña para también iniciar sesión con correo y contraseña, además del inicio de sesión social.",
    "create_password_field": "Nueva contraseña",
    "create_password_confirm_label": "Confirmar contraseña",
    "create_password_success": "Contraseña creada",
    "create_password_error": "No se pudo crear la contraseña. Inténtalo de nuevo.",
    "create_password_too_short": "La contraseña debe tener al menos 6 caracteres",
    "create_password_mismatch": "Las contraseñas no coinciden",
    "link_social": "Vincular $provider",
    "link_social_success": "$provider vinculado",
    "link_social_error": "No se pudo vincular la cuenta. Inténtalo de nuevo.",
    "edit_name_title": "Editar nombre",
    "edit_name_hint": "Tu nombre",
    "edit_name_save": "Guardar",
    "edit_name_cancel": "Cancelar",
    "edit_name_success": "Nombre actualizado",
    "edit_name_error": "No se pudo actualizar tu nombre. Inténtalo de nuevo.",
    "reminders": "Recordatorios",
    "admin_panel": "Panel de Administración",
    "admin_debug_section_label": "ADMIN (SOLO DEBUG)",
    "admin_panel_debug_notice": "Toda esta sección Admin (título, panel y opciones) solo existe en builds de debug. No se incluye en release; quien instala desde la tienda o un APK de producción no ve nada de esto.",
    "delete_account": {
      "button": "Quiero eliminar mi cuenta",
      "title": "¿Quieres eliminar tu cuenta?",
      "content": "Advertencia: esta acción es permanente y no se puede deshacer.",
      "content_subscriber": "Advertencia: esta acción es permanente. Perderás tu suscripción activa, y crear una cuenta nueva más tarde (incluso con el mismo correo) no la recuperará.",
      "cancel": "Cancelar",
      "confirm": "Sí, eliminar",
      "error": "Algo salió mal. Por favor, inténtalo de nuevo."
    },
    "admin": {
      "update_bottom_sheet": "Previsualizar novedades",
      "preview_update_available": "Previsualizar actualización disponible",
      "paywalls": "Paywalls",
      "test_onboarding": "Probar onboarding",
      "copy_user_id": "Copiar ID de usuario",
      "user_id_copied": "ID de usuario copiado al portapapeles",
      "copy_fcm_token": "Copiar FCM Token",
      "fcm_token_copied": "FCM Token copiado al portapapeles",
      "fcm_token_unavailable": "Token no disponible (¿notificaciones desactivadas?)",
      "ask_notification": "Pedir permiso de notificación",
      "native_only": "Disponible solo en la app nativa (iOS / Android)",
      "ask_review": "Pedir evaluación",
      "home_widgets_panel": "Panel de Home Widgets",
      "home_widgets_title": "Panel de Home Widgets",
      "ads_demo_panel": "Demo de anuncios",
      "ads_demo_title": "Demo de anuncios",
      "ads_demo_subtitle": "Los cuatro formatos de AdMob con anuncios de prueba de Google. Prueba cada uno y colócalo donde quieras en tu app.",
      "ads_banner_label": "Banner",
      "ads_interstitial_title": "Intersticial",
      "ads_interstitial_desc": "Anuncio a pantalla completa. Toca para mostrar.",
      "ads_rewarded_title": "Recompensado",
      "ads_rewarded_desc": "El usuario mira para ganar una recompensa. Toca para mostrar.",
      "ads_rewarded_interstitial_title": "Recompensado intersticial",
      "ads_rewarded_interstitial_desc": "Anuncio a pantalla completa que también da recompensa. Toca para mostrar.",
      "ads_reward_earned": "Recompensa ganada: $amount $type",
      "ads_load_failed": "No se pudo cargar el anuncio (sin relleno). Inténtalo de nuevo en un momento.",
      "ads_code_copied": "Código copiado al portapapeles",
      "ads_status_safe": "Esta demo siempre muestra anuncios de prueba de Google, así que es seguro tocar, incluso en producción.",
      "ads_status_test": "Tus ad ids reales aún no están configurados. Configúralos para publicar:",
      "ads_status_real": "Ad ids reales configurados para esta plataforma.",
      "inspector_fab_title": "Inspector de widgets",
      "inspector_fab_subtitle_prefix": "Atajo global:",
      "update_mywidget_title": "Actualizar Widget MyWidget",
      "update_mywidget_desc": "Llamar a la actualización manual para el widget MyWidget",
      "paywalls_title": "Panel de Admin de Paywalls",
      "send_push_title": "Enviar notificación",
      "send_push_to_all": "Enviar a todos",
      "send_push_email_hint": "Agregar e-mail",
      "send_push_title_label": "Título",
      "send_push_title_hint": "Ej: Nueva actualización disponible",
      "send_push_body_label": "Mensaje",
      "send_push_body_hint": "Hasta 3 líneas en la lista de la app (máx. 140 caracteres)",
      "send_push_image_label": "URL de imagen (opcional)",
      "send_push_image_hint": "https://...",
      "send_push_email_label": "Correos destinatarios",
      "send_push_success": "¡Notificación enviada!",
      "send_push_permission_denied": "Solo los administradores pueden enviar notificaciones.",
      "send_push_error": "No se pudo enviar. Inténtalo de nuevo.",
      "send_push_user_not_found": "Usuario no encontrado: $email",
      "send_push_send_button": "Enviar",
      "send_push_required": "El título y el mensaje son obligatorios",
      "send_push_no_emails": "Agrega al menos un correo",
      "send_push_route_label": "Página al abrir",
      "send_push_route_description": "Pantalla que se abre cuando el usuario toca la notificación.",
      "send_push_route_notifications": "Notificaciones",
      "send_push_route_home": "Inicio",
      "send_push_route_settings": "Configuración",
      "send_push_route_premium": "Premium",
      "send_push_route_reminder": "Recordatorios",
      "send_push_route_feedback": "Comentarios",
      "send_push_preview_label": "Vista previa",
      "send_push_preview_now": "ahora",
      "send_push_preview_title_placeholder": "Título de la notificación",
      "send_push_preview_body_placeholder": "El cuerpo del mensaje aparece aquí",
      "device_preview_title": "Device Preview (solo web)",
      "send_push_section_recipients": "Destinatarios",
      "send_push_section_content": "Contenido",
      "send_push_section_advanced": "Avanzado",
      "send_push_audience_all": "Todos",
      "send_push_audience_specific": "Específicos",
      "send_push_audience_all_hint": "La notificación se enviará a todos los usuarios suscritos."
    }
  },
  "rate_banner": {
    "title": "¿Te gusta nuestra app?",
    "text": "¿Tienes un minuto para dejarnos una reseña en la tienda?",
    "rate_button": "¡Sí, seguro!",
    "later_button": "Más tarde..."
  },
  "notifications": {
    "title": "Notificaciones",
    "empty_title": "No tienes notificaciones",
    "empty_subtitle": "Mantente atento a las actualizaciones",
    "empty_guest_title": "Crea una cuenta",
    "empty_guest_subtitle": "Necesitas una cuenta para recibir notificaciones",
    "error_fetching": "Error al obtener notificaciones",
    "push_title": "Notificaciones push",
    "push_subtitle_enabled": "Estás recibiendo alertas",
    "push_subtitle_disabled": "Toca para activar en Configuración",
    "push_subtitle_waiting": "Activa para no perderte nada",
    "mark_all_read": "Marcar leídas",
    "see_all": "Ver todas",
    "group_today": "Hoy",
    "group_yesterday": "Ayer",
    "group_older": "Más antiguas",
    "empty_cta": "Activar notificaciones",
    "empty_cta_open_settings": "Abrir ajustes",
    "delete_all": "Eliminar todo",
    "options": "Opciones",
    "delete_all_confirm_title": "¿Eliminar todas las notificaciones?",
    "delete_all_confirm_message": "Esto eliminará todas las notificaciones de tu cuenta. Esta acción no se puede deshacer.",
    "delete_action": "Sí, eliminar",
    "cancel_action": "Cancelar",
    "deleted_one": "Notificación eliminada",
    "deleted_all": "Todas las notificaciones eliminadas"
  },
  "bottom_router": {
    "fake_page_text": "Esta es una página de prueba"
  },
  "ai_chat": {
    "title": "Asistente IA",
    "empty_state": "Inicia una conversación con tu asistente.",
    "hint": "Pregunta algo...",
    "send_message": "Enviar mensaje",
    "error_not_configured": "El asistente aún no está disponible. Inténtalo más tarde.",
    "error_no_reply": "No pudimos obtener una respuesta. Inténtalo de nuevo.",
    "error_network": "No se pudo conectar al asistente de IA.",
    "new_conversation": "Nueva conversación",
    "conversations_empty": "Aún no hay conversaciones",
    "conversations_empty_hint": "Toca en Nueva conversación para empezar.",
    "no_conversation_selected": "Elige una conversación o empieza una nueva.",
    "delete_title": "¿Eliminar conversación?",
    "delete_message": "Esta conversación y todos sus mensajes se eliminarán de forma permanente.",
    "delete_cancel": "Cancelar",
    "delete_confirm": "Sí, eliminar"
  },
  "phone_auth": {
    "title_input": "Autenticación por Teléfono",
    "subtitle_input": "Ingresa tu número de teléfono",
    "description_input": "Te enviaremos un código de verificación para confirmar tu identidad",
    "phone_label": "Número de teléfono",
    "phone_hint": "+34 600 123 456",
    "error_empty": "Por favor, ingresa un número de teléfono",
    "error_invalid": "Por favor, ingresa un número válido",
    "continue_btn": "Continuar",
    "title_verify": "Verificar Código",
    "verification_code": "Código de Verificación",
    "code_sent": "Hemos enviado un código de verificación a $phone",
    "signin_success_title": "Listo",
    "signin_success_text": "Has iniciado sesión con tu número de teléfono",
    "verify_code": "Verificar Código",
    "resend_code": "Reenviar Código",
    "enter_all_digits": "Por favor, ingresa los 6 dígitos",
    "error_sending": "No pudimos enviar el código de verificación. Verifica tu número e inténtalo de nuevo.",
    "error_verifying": "No pudimos verificar el código. Inténtalo de nuevo."
  },
  "recover_password_result": {
    "title": "Email enviado",
    "description": "Te hemos enviado un email con un enlace para restablecer tu contraseña",
    "back_to_signin": "Volver a Iniciar Sesión",
    "note": "Nota: Si no recibes un email, por favor revisa tu carpeta de spam"
  },
  "page_not_found": {
    "title": "404 - Página no encontrada"
  },
  "devInspector": {
    "copied": "Contexto copiado. Pégalo en el chat de IA.",
    "activate": "Activar inspector de widgets",
    "deactivate": "Desactivar inspector de widgets",
    "copyForAi": "Copiar para IA",
    "selectWidgetFirst": "Selecciona un widget en pantalla primero.",
    "inspectorHint": "Toca un widget para seleccionar. El contexto se copia solo. Tecla C para copiar de nuevo.",
    "statusActive": "Inspeccionando"
  },
  "webDevicePreview": {
    "frame": "Frame",
    "darkBackground": "Fondo oscuro",
    "darkTheme": "Tema oscuro",
    "landscape": "Horizontal",
    "textScale": "Escala de texto",
    "screenshot": "Captura de pantalla",
    "imageCopied": "Imagen copiada — pégala en el chat",
    "imageDownloaded": "Imagen descargada",
    "hotReload": "Hot reload",
    "hotRestart": "Hot restart",
    "hotReloadTooltip": "UI, layout, animación y copy (r)",
    "hotRestartTooltip": "Lógica, providers, rutas e initState (R)",
    "hotReloading": "Recargando…",
    "hotRestarting": "Reiniciando…",
    "hotReloadDone": "Recarga completa",
    "hotRestartDone": "Reinicio completo",
    "hotReloadFailed": "Error al recargar",
    "hotReloadNeedsRestart": "Ese cambio necesita reinicio — usa el botón R",
    "hotReloadCompileError": "Error en el código — corrígelo en el editor y recarga",
    "hotRestartFailed": "Error al reiniciar",
    "hotRestartCompileError": "Error en el código — corrígelo en el editor y reinicia",
    "terminalStatusOk": "Terminal sin errores — puedes usar r",
    "terminalStatusError": "Terminal con error — corrígelo o usa R",
    "terminalStatusOffline": "Puente del terminal offline — usa kasy run --web",
    "devBridgeUnavailable": "Servidor dev offline — ejecuta kasy run --web, deja el terminal abierto y abre la URL que muestre"
  },
  "biometric_prompt": {
    "title_ios_face": "¿Activar Face ID en el bloqueo?",
    "title_ios_touch": "¿Activar Touch ID en el bloqueo?",
    "title_ios_mixed": "¿Activar Face ID/Touch ID en el bloqueo?",
    "title_android_face": "¿Activar bloqueo con reconocimiento facial?",
    "title_android_fingerprint": "¿Activar bloqueo con huella digital?",
    "title_android_mixed": "¿Proteger la app con tu teléfono?",
    "message_ios_face": "Al abrir confirmarás con Face ID—sigues con sesión iniciada.",
    "message_ios_touch": "Al abrir confirmarás con Touch ID—sigues con sesión iniciada.",
    "message_ios_mixed": "Al abrir confirmarás con Face ID o Touch ID—sigues con sesión iniciada.",
    "message_android_face": "Al abrir verificarás con reconocimiento facial—sigues con sesión iniciada.",
    "message_android_fingerprint": "Al abrir verificarás con huella digital—sigues con sesión iniciada.",
    "title_android_face_and_fingerprint": "¿Activar bloqueo con huella o rostro?",
    "message_android_face_and_fingerprint": "Puedes usar cualquiera de los dos—sigues dentro.",
    "message_android_mixed": "Una confirmación rápida al abrir—sigues con la sesión.",
    "not_now": "Ahora no",
    "enable": "Activar"
  },
  "home_widget": {
    "greeting_morning": "Buenos días",
    "greeting_afternoon": "Buenas tardes",
    "greeting_evening": "Buenas noches",
    "title_with_name": "¡Hola, $name!",
    "title_default": "¡Hola!",
    "title_logged_out": "Te esperamos de vuelta",
    "plan_free": "Plan gratuito",
    "plan_pro": "PRO",
    "quote": "Tu tiempo es limitado.\nNo vivas la vida de otra persona.\nTen el coraje de seguir tu intuición.\nTodo lo demás es secundario.",
    "quote_author": "Steve Jobs"
  },
  "kanban": {
    "title": "Tareas",
    "empty_title": "Organiza tus tareas",
    "empty_description": "Crea columnas personalizadas y comienza a organizar lo que hay que hacer en tu proyecto.",
    "empty_column": "Sin tareas en esta columna",
    "error_title": "Error al cargar",
    "add_column": "Añadir columna",
    "add_column_subtitle": "Elige un nombre corto para organizar las tareas en esta columna.",
    "add_another_list": "Añadir otra lista",
    "add_list": "Añadir lista",
    "list_name_hint": "Escribe el nombre de la lista...",
    "add_task": "Añadir tarea",
    "add_task_subtitle": "Define el titulo y, si quieres, una descripcion y la prioridad.",
    "edit_column": "Editar columna",
    "edit_task_subtitle": "Actualiza los detalles de esta tarea.",
    "cancel": "Cancelar",
    "save": "Guardar",
    "delete_column": "Eliminar columna",
    "delete_action": "Eliminar",
    "edit_task": "Editar tarea",
    "delete_task": "Eliminar tarea",
    "column_name": "Nombre de columna",
    "column_name_hint": "Ej: En progreso, Hecho",
    "task_title": "Título de tarea",
    "task_title_hint": "Ej: Implementar login",
    "task_title_required": "Ingresa un título para la tarea.",
    "column_name_required": "Ingresa un nombre para la columna.",
    "task_description": "Descripción",
    "task_description_hint": "Detalles sobre la tarea",
    "create": "Crear",
    "mark_complete": "Marcar como completada",
    "mark_incomplete": "Marcar como pendiente",
    "column_created": "Columna creada",
    "column_updated": "Columna actualizada",
    "column_deleted": "Columna eliminada",
    "task_created": "Tarea creada",
    "task_updated": "Tarea actualizada",
    "task_deleted": "Tarea eliminada",
    "priority": "Prioridad",
    "priority_none": "Ninguna",
    "priority_low": "Baja",
    "priority_medium": "Media",
    "priority_high": "Alta",
    "priority_urgent": "Urgente",
    "cards_count": "$count tarjetas",
    "move_to": "Mover a columna",
    "move_left": "Mover a la izquierda",
    "move_right": "Mover a la derecha",
    "delete_column_confirm": "Se eliminaran permanentemente todas las tarjetas de esta columna.",
    "delete_task_confirm": "Esta tarea se eliminara permanentemente.",
    "created_on": "Creado el $date"
  },
  "drive": {
    "main": {
      "brand_title": "Drive",
      "search_hint": "¿A dónde vas?",
      "search_title": "¿A dónde vas?",
      "search_subtitle": "Escribe una dirección o un lugar",
      "where_to_cta": "¿A dónde vas?",
      "where_to_hint": "Toca para buscar un destino",
      "trip_title": "Tu viaje",
      "search_empty": "No se encontraron lugares.",
      "pickup_label": "Recogida",
      "dropoff_label": "¿A dónde vas?",
      "adjust_pickup_title": "Ajusta la recogida",
      "adjust_pickup_subtitle": "Busca una dirección o arrastra el mapa",
      "adjust_pickup_search_hint": "Buscar punto de recogida",
      "confirm_pickup": "Confirmar recogida",
      "adjust_dropoff_title": "Ajusta el destino",
      "adjust_dropoff_subtitle": "Busca una dirección o arrastra el mapa",
      "adjust_dropoff_search_hint": "Buscar destino",
      "confirm_dropoff": "Confirmar destino",
      "address_pending": "…",
      "role_prompt_title": "¿Eres conductor o pasajero?",
      "role_prompt_message": "Elige cómo quieres usar Drive. Puedes cambiar cuando quieras desde el menú.",
      "role_prompt_passenger": "Soy pasajero",
      "role_prompt_driver": "Soy conductor"
    },
    "menu": {
      "switch_to_driver": "Ir a modo conductor",
      "switch_to_passenger": "Ir a modo pasajero",
      "settings": "Configuración",
      "saved_places": "Lugares guardados",
      "ride_history": "Historial de viajes",
      "coming_soon": "Próximamente",
      "exit": "Salir de Drive",
      "test_loopback": "Prueba automatizada",
      "test_loopback_on": "Prueba automatizada · activa",
      "test_loopback_desc": "Misma cuenta en ambos roles y GPS simulado en la ruta. Apágalo antes de publicar."
    },
    "request": {
      "title": "Pedir un viaje",
      "pickup_step_title": "Donde te recogemos?",
      "dropoff_step_title": "A donde vas?",
      "confirm_pickup": "Confirmar punto de partida",
      "confirm_dropoff": "Confirmar destino",
      "locating": "Localizando...",
      "estimate_title": "Estimacion del viaje",
      "distance_label": "Distancia",
      "duration_label": "Duracion",
      "price_label": "Precio estimado",
      "price_disclaimer": "Solo una estimacion, el pago se hace directo con el conductor.",
      "request_ride": "Pedir viaje",
      "requesting": "Solicitando...",
      "request_failed": "No se pudo pedir el viaje. Intenta de nuevo.",
      "route_unavailable": "No es posible solicitar este viaje. No hay ruta en coche entre estos puntos.",
      "location_permission_denied": "Necesitamos tu ubicacion para recogerte.",
      "use_my_location": "Usar mi ubicacion"
    },
    "location": {
      "gate_title": "Necesitamos tu ubicación",
      "gate_message_passenger": "Para mostrar dónde estás y encontrar conductores cerca.",
      "gate_message_driver": "Para ponerte en línea y recibir viajes cerca.",
      "gate_allow": "Permitir ubicación",
      "gate_open_settings": "Abrir ajustes",
      "gate_open_location_settings": "Activar ubicación del dispositivo",
      "gate_services_off": "La ubicación del dispositivo está apagada. Actívala para continuar.",
      "gate_hint_web": "El navegador pedirá acceso a continuación.",
      "gate_hint_ios": "El iPhone pedirá acceso a continuación.",
      "gate_hint_android": "Android pedirá acceso a continuación.",
      "web_denied_toast": "Permite la ubicación en los ajustes del navegador para usar Drive."
    },
    "tracking": {
      "title": "Tu viaje",
      "status_requested": "Buscando un conductor cercano...",
      "status_accepted": "El conductor va en camino",
      "status_arriving": "El conductor ha llegado",
      "status_in_progress": "En camino a tu destino",
      "status_completed": "Viaje completado",
      "status_canceled": "Viaje cancelado",
      "driver_label": "Conductor",
      "vehicle_label": "Vehiculo",
      "cancel_ride": "Cancelar viaje",
      "cancel_confirm_title": "Cancelar este viaje?",
      "cancel_confirm_message": "Se avisara al conductor.",
      "cancel_confirm_cta": "Cancelar",
      "keep_ride_short": "Mantener",
      "cancel_failed": "No se pudo cancelar. Intentalo de nuevo.",
      "retry_failed": "No se pudo reintentar.",
      "keep_ride": "Mantener viaje",
      "finish": "Listo",
      "trip_summary_title": "Resumen del viaje",
      "no_driver_yet": "Aun no hay conductor asignado",
      "test_loopback_leave": "El viaje sigue abierto. Abriendo el modo conductor.",
      "resume_ride": "Continuar viaje",
      "no_driver_available_title": "No hay conductores disponibles",
      "no_driver_available_message": "No encontramos un conductor cercano. Quieres intentarlo de nuevo?",
      "try_again": "Intentar de nuevo",
      "search_timeout_hint": "Expira en {s}s",
      "no_driver_final_title": "No hay conductores disponibles en tu zona ahora",
      "no_driver_final_message": "Intenta pedirlo de nuevo en un rato."
    },
    "completed": {
      "title": "Viaje finalizado",
      "subtitle": "Gracias por viajar. Hasta la proxima.",
      "done": "Volver",
      "returning_home": "Volviendo al inicio..."
    },
    "driver": {
      "onboarding_title": "Conviertete en conductor",
      "onboarding_subtitle": "Agrega los datos de tu vehiculo para empezar a aceptar viajes. Sin aprobacion necesaria, puedes ponerte en linea enseguida.",
      "photo_upload_failed": "No se pudo subir la foto. El perfil se guardo sin ella.",
      "save_failed": "No se pudo guardar el perfil de conductor. Intentalo de nuevo.",
      "save_auth_failed": "Sesion expirada o sin permiso. Entra de nuevo e intenta guardar.",
      "save_network_failed": "Sin conexion con el servidor. Revisa tu internet e intentalo de nuevo.",
      "vehicle_make": "Marca",
      "vehicle_make_hint": "ej.: Toyota",
      "vehicle_model": "Modelo",
      "vehicle_model_hint": "ej.: Corolla",
      "vehicle_color": "Color",
      "vehicle_color_hint": "ej.: Negro",
      "vehicle_plate": "Placa",
      "vehicle_plate_hint": "ej.: ABC1234",
      "photo_label": "Foto del vehiculo (opcional)",
      "photo_add": "Agregar foto",
      "save_continue": "Guardar y continuar",
      "uploading_photo": "Enviando foto...",
      "saving_profile": "Guardando registro...",
      "field_required": "Obligatorio",
      "home_title": "Modo conductor",
      "go_online": "Ponerse en linea",
      "go_offline": "Ponerse fuera de linea",
      "online_status": "En linea, esperando viajes",
      "offline_status": "Fuera de linea",
      "incoming_ride_title": "Nueva solicitud de viaje",
      "incoming_queue_count": "$n viajes cerca",
      "accept": "Aceptar",
      "decline": "Rechazar",
      "ride_accepted_navigate_pickup": "Ir al punto de partida",
      "ride_arrived_start": "Pasajero a bordo",
      "ride_in_progress_complete": "Completar viaje",
      "ride_status_to_pickup": "En camino al punto de partida",
      "ride_status_to_dropoff": "En camino al destino",
      "ride_near_pickup_hint": "Acercate al punto de embarque para confirmar que el pasajero subio.",
      "ride_near_dropoff_hint": "Acercate al destino para concluir el viaje.",
      "edit_vehicle": "Editar vehiculo",
      "location_permission_denied": "Necesitamos tu ubicacion para ponerte en linea y recibir viajes.",
      "nearby_requests_title": "Viajes cercanos",
      "nearby_empty": "Aún no hay viajes cerca. Mantente en línea y espera.",
      "status_card_online": "Estás en línea",
      "status_card_offline": "Estás fuera de línea",
      "status_card_online_hint": "Los viajes cercanos aparecen como aviso en pantalla.",
      "status_card_offline_hint": "Actívate para recibir solicitudes cercanas.",
      "profile_incomplete_title": "Completa tu perfil de conductor",
      "profile_incomplete_message": "Agrega los datos de tu vehículo para empezar a aceptar viajes cercanos.",
      "profile_incomplete_cta": "Completar perfil",
      "profile_incomplete_sheet_title": "Solo falta un paso",
      "profile_incomplete_sheet_message": "Cuéntanos sobre tu vehículo para que los pasajeros sepan quién los recoge. Toma menos de un minuto.",
      "profile_incomplete_sheet_cta": "Empezar",
      "leave_nav_title": "Salir de la navegacion?",
      "leave_nav_message": "El viaje sigue abierto. Puedes volver desde el aviso en la home.",
      "leave_nav_confirm": "Salir",
      "leave_nav_keep": "Quedarme",
      "resume_active_ride": "Continuar viaje",
      "test_loopback_to_passenger": "El viaje sigue abierto. Ve al pasajero para seguirlo."
    }
  },
  "background_location": {
    "notification_title": "Seguimiento de ubicación activo",
    "notification_text": "Manteniendo tu ubicación actualizada en segundo plano.",
    "disclosure_title": "Ubicación en segundo plano",
    "disclosure_message": "Esta app recopila datos de ubicación incluso cuando está cerrada o sin usar, para seguir rastreando tu posición en tiempo real.",
    "disclosure_continue": "Continuar",
    "disclosure_not_now": "Ahora no",
    "gate_always_title": "Permitir ubicación siempre",
    "gate_always_message": "Para seguir rastreando en segundo plano, permite el acceso a la ubicación todo el tiempo.",
    "gate_always_allow": "Permitir todo el tiempo",
    "gate_always_open_settings": "Abrir configuración"
  }
}
