PageSourceSearch

https://admin.hostmeapp.com/assets/es-419-ZP5yCcPT.js

js hostmeapp.com collected 2026-10-01 10:44:56 UTC 189,161 bytes, 1 lines download raw bytes

1const e={signIn:"Iniciar sesión",signUp:"Registrarse",welcome:"Bienvenido de nuevo a Hostme",email:"Correo electrónico",emailPlaceholder:"tu{'@'}restaurante.com",password:"Contraseña",passwordPlaceholder:"Introduzca su contraseña",createPasswordPlaceholder:"Cree una contraseña (mín. 6 caracteres)",fillAllFields:"Complete todos los campos",invalidCredentials:"Correo o contraseña incorrectos",connectionError:"Error de conexión. Inténtelo de nuevo.",signingIn:"Iniciando sesión…",forgotPassword:"¿Olvidó su contraseña?",forgotPasswordTitle:"Restablecer su contraseña",forgotPasswordHint:"Introduzca el correo asociado a su cuenta y le enviaremos un enlace para restablecer la contraseña.",sendResetLink:"Enviar enlace",resetEmailSent:"Revise su bandeja de entrada",resetEmailSentHint:"Si existe una cuenta para {email}, acabamos de enviar allí un enlace de restablecimiento. El enlace caduca en 1 hora.",backToSignIn:"Volver al inicio de sesión",resetPasswordTitle:"Establecer una nueva contraseña",resetPasswordHint:"Elija una contraseña segura que no haya usado antes.",newPassword:"Nueva contraseña",confirmPassword:"Confirmar contraseña",confirmPasswordPlaceholder:"Repita la nueva contraseña",passwordMismatch:"Las contraseñas no coinciden",passwordTooShort:"La contraseña debe tener al menos 6 caracteres",resetPassword:"Cambiar contraseña",resetting:"Guardando…",invalidResetLink:"Este enlace no es válido o ha caducado. Solicite uno nuevo.",resetSuccess:"Su contraseña se ha cambiado. Inicie sesión con la nueva contraseña.",alreadyHaveAccount:"¿Ya tiene una cuenta?",noAccount:"¿No tiene cuenta?",enterEmail:"Introducir correo",verifyEmail:"Verificar correo",createAccount:"Crear cuenta",yourRestaurant:"Su restaurante",welcomeSubtitle:"Cree su primer restaurante para empezar.",signOut:"Cerrar sesión",stepOf:"Paso {step} de {total}",continue:"Continuar",sending:"Enviando…",confirmationSent:"Hemos enviado un código de 6 dígitos a",codeValidFor:"El código es válido durante {minutes} minutos.",invalidCode:"Código no válido. Inténtelo de nuevo.",invalidCodeWithAttempts:"Código no válido. Le quedan {attempts} intentos.",codeExpired:"Este código ha caducado. Solicite uno nuevo.",tooManyAttempts:"Demasiados intentos. Solicite un código nuevo.",emailAlreadyRegistered:"Este correo ya está registrado. Pruebe a iniciar sesión.",rateLimitReached:"Demasiadas solicitudes. Inténtelo más tarde.",emailProviderDown:"Ahora mismo no podemos enviar correos. Inténtelo dentro de un momento.",invalidRegistrationToken:"Su verificación ha caducado. Empiece de nuevo.",validationFailed:"Corrija lo siguiente:",fieldRequired:"{field} es obligatorio",resendEmail:"Reenviar correo",resendEmailCountdown:"Reenviar correo ({seconds} s)",fullName:"Nombre completo",fullNamePlaceholder:"Juan Pérez",firstName:"Nombre",firstNamePlaceholder:"Juan",lastName:"Apellidos",lastNamePlaceholder:"Pérez",phone:"Teléfono",phonePlaceholder:"+34 600 12 34 56",yourPhone:"Su teléfono",job:"Su puesto en el restaurante",jobPlaceholder:"Director general",invalidPhone:"Revise su número de teléfono — no hemos podido reconocerlo.",howDidYouHear:"¿Cómo nos conoció?",optional:"opcional",select:"Seleccionar...",googleSearch:"Búsqueda de Google",socialMedia:"Redes sociales",referral:"Recomendación",eventConference:"Evento / Congreso",other:"Otro",creatingAccount:"Creando la cuenta…",restaurantName:"Nombre del restaurante",restaurantNamePlaceholder:"Mi restaurante",address:"Dirección",addressPlaceholder:"Calle Mayor 123, Ciudad",language:"Idioma",website:"Sitio web",websitePlaceholder:"https://mirestaurante.es",creatingRestaurant:"Creando el restaurante…",finishSetup:"Finalizar configuración",joinYourTeam:"Únase a su equipo",invitedTo:"Le han invitado a {restaurant}",invalidInviteLink:"Enlace de invitación no válido. Pida a su equipo que se la reenvíe.",inviteExpired:"Esta invitación ha caducado o ya no es válida.",inviteVerifyFailed:"No se ha podido verificar la invitación. Inténtelo de nuevo.",goToSignIn:"Ir al inicio de sesión",yourNamePlaceholder:"Su nombre",joining:"Uniéndose…",joinTeam:"Unirse al equipo"},a={operations:"Operaciones",guests:"Clientes",growth:"Marketing",management:"Gestión",account:"Cuenta",home:"Inicio",dashboard:"Panel",reservations:"Reservas",floorTables:"Sala y mesas",orderingMenu:"Pedidos y carta",guestManagement:"Gestión de clientes",messaging:"Mensajes",campaigns:"Campañas",events:"Eventos",marketing:"Marketing",onlinePresence:"Presencia online",anal
1ytics:"Analítica",settings:"Configuración",integrations:"Integraciones",administration:"Administración",help:"Ayuda",collapseSidebar:"Contraer la barra lateral",expandSidebar:"Expandir la barra lateral",selectRestaurant:"Seleccionar restaurante"},o={profile:"Perfil",language:"Idioma",notifications:"Notificaciones",contactSupport:"Contáctanos",helpCenter:"Centro de ayuda",darkMode:"Modo oscuro",on:"Activado",off:"Desactivado",signOut:"Cerrar sesión"},s={title:"No se pudieron cargar los datos",body:"El servidor no respondió, así que no sabemos a qué locales tienes acceso. No se perdió nada: inténtalo de nuevo en un minuto."},i={later:"Más tarde",next:"Siguiente",back:"Atrás",start:"¡Vamos!",menuItem:"El nuevo Admin Panel",updated:{title:"Hostme se actualizó",body:"Esta es la nueva versión del Admin Panel. Todo lo que conoces y usas sigue aquí. Tus reservas, clientes, planos de sala y ajustes se trasladaron por completo. No se perdió nada. Las mesas, las reservas y las listas de espera se siguen gestionando en el Host Panel, igual que antes.",more:"Sobre el nuevo Admin Panel"},whatsNew:{title:"Novedades",lead:"El Admin Panel anterior era sobre todo un lugar para los ajustes; en el nuevo manejas el restaurante:",crm:"CRM con el historial de cada cliente, etiquetas, segmentos, campañas de marketing y automáticas, y analítica integrada.",today:"Panel previo al servicio: reservas, comensales, ocupación de mesas y resumen de clientes — VIP, cumpleaños, alergias, grupos grandes.",tools:"Nuevo editor de sala: plano a partir de un boceto o una foto, edición de mesas en lote, biblioteca de decoración y trabajo desde el teléfono.",languages:"El panel habla 22 idiomas — cada persona trabaja en el suyo.",ui:"Una interfaz rediseñada, 22 idiomas y el modo oscuro activado por defecto.",theme:"El modo oscuro es nuevo y viene activado — el modo claro está a un toque.",themeToggle:"Modo oscuro",week:"Estas son solo algunas de las muchas mejoras del All-New Hostme Admin Panel. Pruébalo y descubre una forma más inteligente e intuitiva de gestionar tu restaurante."},help:{title:"Si algo no queda claro",body:"La búsqueda te ayuda a encontrar cualquier configuración y sus instrucciones, y cada una tiene un enlace a un artículo de ayuda o a una guía.",support:"¿Algo no funciona? Escríbenos, estamos aquí para ayudarte.",classicLead:"¿Sigues prefiriendo el panel clásico? Está disponible hasta fin de año:"}},n={en:"Inglés",ru:"Ruso",uk:"Ucraniano",es:"Español",de:"Alemán",fr:"Francés",pt:"Portugués",it:"Italiano",pl:"Polaco",sv:"Sueco",da:"Danés",sr:"Serbio",bn:"Bengalí",zh:"Chino"},r={title:"Panel",errors:{noRestaurant:"No hay ningún restaurante seleccionado",loadFailed:"No se han podido cargar los datos del panel"},allClear:"Todo en orden — no hay tareas pendientes",actionItems:"Tareas pen
1dientes",timeline:"Agenda de hoy",timelineOther:"Agenda",coversByHour:"Comensales por hora",reservationsToday:"Reservas",coversToday:"Comensales",waitlistNow:"Lista de espera",tablesOccupied:"Mesas",trend:"Tendencia de 7 días",covers:"Comensales",reservations:"Reservas",noShows:"No-shows",noTrendData:"No hay datos de reservas de los últimos 7 días",quickActions:"Acciones rápidas",resetRotation:"Reiniciar la rotación de meseros",unseatAll:"Liberar todas las mesas",newReservation:"Nueva reserva",availability:"Disponibilidad",openHostPanel:"Abrir el Host Panel",confirmResetRotation:"¿Reiniciar la rotación de meseros?",confirmUnseatAll:"¿Liberar todas las mesas?",resetRotationDesc:"Se reiniciarán los contadores de rotación de meseros de este restaurante.",unseatAllDesc:"Se liberarán todas las mesas ocupadas en este momento.",confirm:"Confirmar",processing:"Procesando...",rotationReset:"Rotación de meseros reiniciada",allTablesReleased:"Todas las mesas han sido liberadas",actionFailed:"La acción ha fallado",unconfirmedReservations:"{count} reserva(s) sin confirmar",pendingDeposits:"{count} depósito(s) pendiente(s)",campaignFinished:"Campaña «{name}» finalizada — ver reporte",campaignsFinished:"{count} campaña(s) finalizada(s) — ver reportes",disableReservations:"Desactivar las reservas online",confirmDisableReservations:"¿Desactivar las reservas online?",disableReservationsDesc:"Se bloquearán las nuevas reservas en las franjas restringidas. Los clientes podrán seguir reservando después de la restricción o para otros días. Las reservas existentes no se ven afectadas.",disable:"Desactivar",disableUntilEndOfDay:"Hasta el final del día",disableUntilTime:"Hasta una hora concreta",restrictionsEnabled:"Reservas online desactivadas",restrictionsRemoved:"Reservas online reactivadas",enableReservations:"Activar las reservas online",reservationsDisabledTitle:"Las reservas online están desactivadas",restrictionDescEndOfDay:"Las reservas están pausadas hasta el final del día de hoy",restrictionDescUntilTime:"Las reservas están pausadas hasta las {time} de hoy",confirmEnableReservations:"¿Reactivar las reservas online?",confirmEnableReservationsDesc:"Se retirará la restricción actual y los clientes podrán volver a reservar online.",statusOpen:"Abierto ahora",statusClosed:"Cerrado ahora",bookingActive:"Reserva online activa",bookingRestricted:"Reserva online restringida",bookingClosed:"Reserva online cerrada",bookingClosedForToday:"Reserva online cerrada por hoy",dateNav:{today:"Hoy",selectDate:"Elegir fecha",previousDay:"Día anterior",nextDay:"Día siguiente"},export:{title:"Exportar las reservas de la fecha seleccionada",button:"Exportar",time:"Hora",guest:"Cliente",party:"Comensales",table:"Mesa",status:"Estado",source:"Origen",deposit:"Depósito",tags:"Etiquetas",notes:"Notas"},onboarding:{title:"Primeros pasos",subtitle:"Empiece hoy mismo",description:"Complete los pasos siguientes y deje que Hostme trabaje por usted.",tileBadge:"Primeros pasos",tileProgress:"{done} de {total} pasos completados",tileProgressNone:"Preparemos su restaurante",tileCta:"Continuar la configuración",tileCtaStart:"Empezar la configuración",tileDismissAria:"Ocultar la guía de inicio",modalIntro:"Termine de configurar su restaurante. Cada paso lleva un par de minutos — continúe donde lo dejó.",watchTutorials:"Ver tutoriales",scheduleDemo:"Programar una demo",scheduleDemoUrl:"https://www.hostmeapp.com/request-demo",stepStatusComplete:"Hecho",stepStatusPending:"Pendiente",stepOpenCta:"Abrir",stepHelpCta:"Artículo de ayuda",dismissBtn:"No volver a mostrar",dismissError:"No se ha podido guardar su preferencia. Inténtelo de nuevo.",dismissConfirmTitle:"¿Ocultar la lista «Primeros pasos»?",dismissConfirmMessage:"Puede volver a mostrarla cuando quiera en Configuración → Interfaz.",dismissConfirmYes:"Sí, ocultar",closeBtn:"Cerrar",allDoneTitle:"¡Todo listo!",allDoneDesc:"Ha completado todos los pasos de la guía de inicio. ¡Bien hecho!",steps:{restaurantProfile:{title:"Complete el perfil de su restaurante",description:"Añada nombre, dirección, teléfono y logotipo — alimentan el widget de reservas, las confirmaciones y su página pública de Restogram.",timeEstimate:"~3 min"}
1,floorPlan:{title:"Cree un plano de sala",description:"Construya su plano de sala (o parta de nuestro ejemplo) para poder aceptar reservas y sentar a los clientes.",timeEstimate:"~10 min"},adjustAvailability:{title:"Ajuste la disponibilidad",description:"Defina el horario de apertura, el horario de reservas online y las franjas para que los clientes reserven solo cuando usted esté listo.",timeEstimate:"~5 min"},onlineReservations:{title:"Empiece a aceptar reservas online",description:"Elija el modo de aprobación, el tamaño de los grupos y los plazos de antelación para atraer clientes 24/7, incluso cuando su equipo esté ocupado en sala.",timeEstimate:"~5 min"},inviteTeam:{title:"Invite a su equipo",description:"Añada anfitriones, encargados y demás personal para que todo el equipo trabaje en un solo Hostme — sin reservas duplicadas ni salas descoordinadas.",timeEstimate:"~2 min"},adjustFloorRules:{title:"Ajuste las reglas de sala",description:"Defina la duración, el bloqueo, los estados, la asignación de mesas y las reglas de meseros — unos buenos configuración aumentan la rotación de mesas entre un 15 y un 30 %.",timeEstimate:"~10 min"}}},guestAlerts:{title:"Avisos previos al turno",subtitle:"Reservas que hoy requieren especial atención",empty:"No hay clientes especiales en este turno.",unknownGuest:"Cliente",categoryVip:"VIP",categoryBirthday:"Cumpleaños",categoryLarge:"Grupo grande",categoryAllergy:"Alergia",categoryVegetarian:"Vegetariano",categoryEvent:"Evento",tabs:{all:"Todos los importantes",vip:"VIP",birthdays:"Cumpleaños",largeParties:"Grupos grandes",allergies:"Alergias",events:"Eventos"},party:"{count} comensales",partyOne:"1 comensal",table:"Mesa {table}",birthdayDetail:"Hoy es su cumpleaños",largePartyDetail:"Grupo de {count} personas",allergyDetail:"Alergias: {list}",vegetarianDetail:"Vegetariano",eventDetail:"Reserva para un evento"}},t={title:"Perfil",tabProfile:"Perfil",tabPassword:"Contraseña",fullName:"Nombre completo",email:"Correo electrónico",phone:"Teléfono",phonePlaceholder:"+34 600 00 00 00",nameRequired:"El nombre es obligatorio",emailRequired:"El correo es obligatorio",profileUpdated:"Perfil actualizado",updateFailed:"No se ha podido actualizar el perfil",saving:"Guardando...",changePassword:"Cambiar contraseña",currentPassword:"Contraseña actual",newPassword:"Nueva contraseña",newPasswordPlaceholder:"Mín. 6 caracteres",confirmNewPassword:"Confirmar la nueva contraseña",showPassword:"Mostrar contraseña",hidePassword:"Ocultar contraseña",currentPasswordRequired:"La contraseña actual es obligatoria",passwordMinLength:"La nueva contraseña debe tener al menos 6 caracteres",passwordsMismatch:"Las contraseñas no coinciden",passwordChanged:"Contraseña cambiada",passwordChangeFailed:"No se ha podido cambiar la contraseña",changing:"Cambiando...",deleteAccount:"Eliminar cuenta",phoneAlreadyExists:"Este número de teléfono ya lo usa otra cuenta.",phoneInvalid:"Introduzca un número de teléfono válido."},l={title:"Eliminar cuenta",warningIntro:"Al eliminar su cuenta pierde el acceso de forma permanente — esta acción no se puede deshacer. Los restaurantes de los que sea el único propietario se eliminarán.",passwordLabel:"Confirme con su contraseña",passwordPlaceholder:"Su contraseña",passwordRequired:"Introduzca su contraseña para confirmar.",confirmButton:"Eliminar mi cuenta",deleting:"Eliminando…",wrongPassword:"Contraseña incorrecta.",failed:"No se ha podido eliminar su cuenta. Inténtelo de nuevo.",blockedIntro:"Su cuenta no se puede eliminar hasta que se resuelva lo siguiente:",reasonActiveSubscription:"Uno de sus restaurantes tiene una suscripción activa. Cancélela antes de eliminar la cuenta.",reasonSoleOwner:"Es el único propietario de un restaurante que aún tiene miembros de equipo o datos. Transfiera la propiedad o elimine el restaurante.",blockedHint:"Gestione propietarios y equipo en Administración → Equipo. Las suscripciones están en Facturación."},d={title:"Notificaciones",soundAlertsFor:"Avisos sonoros para",storedPerDevice:"Se guardan por dispositivo.",browserBlocked:"Su navegador está bloqueando las notificaciones. Actívelas en los configuración del navegador.",pushNotifications:"Notificaciones push",tabSounds:"Sonidos",enableAlerts:"Activar los avisos en este dispositivo",pushAllVenues:"Los avisos llegan de todos tus restaurantes. Desactiva los que no necesites.",pushBlockedApp:"Las notificaciones están desactivadas en la configuración del teléfono. Actívelas para recibir avisos.",pushNotAsked:"Las notificaciones aún no están activadas. Actívelas en la configuración del teléfono.",openPhoneSettings:"Abrir configuración",newReservation:"Nueva reserva",newWaitlist:"Nueva entrada en la lista de espera",newOrder:"Nuevo pedido",guestMessage:"Mensaje de un cliente",checkInStatus:"Estado de llegada",incomingCall:"Llamada entrante",pushTypesTitle:"Qué avisos recibir",pushTypesHint:"Ajuste de este dispositivo, válido en todos tus restaurantes.",pushTypesFailed:"No se pudo guardar. Int
1éntalo de nuevo.",pushTypes:{reservation:{new:"Nueva reserva",request:"Solicitud de reserva",changed:"Reserva modificada",canceled:"Reserva cancelada",reminder:"Recordatorio de reserva"},order:{new:"Nuevo pedido",changed:"Pedido modificado",canceled:"Pedido cancelado",reminder:"Recordatorio de pedido"},lead:{new:"Nuevo contacto del sitio"},message:{new:"Mensaje de un cliente"}},tabVenues:"Restaurantes",tabTypes:"Tipos",pushPickVenues:"Elige los restaurantes de los que quieres recibir avisos en este dispositivo.",typesNeedVenue:"Ningún restaurante tiene los avisos activados: actívalos en la pestaña Restaurantes."},c={title:"Buscar (⌘K)",placeholder:"Buscar páginas, configuración…",noResults:"No se han encontrado resultados",system:"Gestión",openHelp:"Abrir el centro de ayuda",helpGroup:"Centro de ayuda"},u={titleToday:"La suscripción termina hoy",title:"La suscripción termina en {n} día | La suscripción termina en {n} días",endsOn:"termina el {date}",reactivate:"Reactivar"},p={alphaBadge:"Alfa",comingSoon:"El contenido de «{tab}» llegará pronto",dismiss:"Ocultar",minutes:"min",days:"días",distanceMi:"mi",distanceKm:"km",monthNames:{1:"Enero",2:"Febrero",3:"Marzo",4:"Abril",5:"Mayo",6:"Junio",7:"Julio",8:"Agosto",9:"Septiembre",10:"Octubre",11:"Noviembre",12:"Diciembre"},guests:"comensales",remove:"Quitar",done:"Hecho",more:"Más",default:"Predeterminado",retry:"Reintentar",discard:"Descartar",saved:"Guardado",saveChanges:"Guardar cambios",unlimited:"Ilimitado",moveUp:"Subir",moveDown:"Bajar",cancel:"Cancelar",clear:"Vaciar",reset:"Restablecer",noColor:"Sin color",moreColors:"Más colores",resetTo:"Restablecer a {color}
1",create:"Crear",save:"Guardar",add:"Añadir",back:"Atrás",next:"Siguiente",saving:"Guardando…",settingsSaved:"Configuración guardados",free:"Gratis",month:"mes",verify:"Verificar",verifying:"Verificando…",close:"Cerrar",on:"Activado",off:"Desactivado",submitRequest:"Enviar solicitud",requestSent:"Solicitud enviada",preview:"Vista previa",buyNow:"Comprar",request:"Solicitar",sendVerification:"Enviar verificación",copy:"Copiar",copied:"¡Copiado!",selectDate:"Elegir fecha",expiredBadge:"Caducado",loading:"Cargando…",open:"Abrir",change:"Cambiar",current:"Actual",edit:"Editar",rename:"Renombrar",delete:"Eliminar",insert:"Insertar",apply:"Aplicar",dragToReorder:"Arrastre para reordenar",unsavedChangesTitle:"Cambios sin guardar",unsavedChangesMessage:"Esta página tiene cambios sin guardar. Guárdelos, descártelos o quédese para seguir editando.",saveAndLeave:"Guardar y salir",discardAndLeave:"Descartar y salir",stayOnPage:"Quedarse en la página",discardChangesMessage:"Sus cambios no se guardarán.",tierBadge:{requires:"Requiere el plan {tier}",included:"Incluido en el plan {tier}",grandeFeatureHint:"Esta función está disponible en el plan Grande. Mejore su suscripción para activarla para sus clientes.",clickToUpgrade:"Haga clic para mejorar el plan",tiers:{grande:"Grande",pro:"Pro",premium:"Premium",enterprise:"Enterprise",basic:"Basic",piccolo:"Piccolo",medio:"Medio"}},upgradeModal:{grande:{title:"Desbloquee las funciones de {tier}",titleWithFeature:"Desbloquee «{feature}» con {tier}",intro:"Su plan actual no incluye esta función. Cambie a {tier} para activarla, junto con todo lo demás que incluye el plan.",perks:["Estados de reserva personalizados y flujos de llegada","Widgets, correos y SMS con su logotipo y sus colores","Pedidos anticipados, estados de pedido propios y políticas avanzadas","Personalización completa de los correos y plantillas promocionales","Soporte prioritario y puesta en marcha guiada"],ctaOwner:"Elegir un plan",ctaOwnerHint:"Abre el selector de planes en Facturación."},noSubscription:{title:"Sin suscripción activa",intro:"Su restaurante no tiene una suscripción activa en este momento, por lo que las funciones de pago (incluidos los eventos) están desactivadas. Elija un plan para atender a sus clientes con todas las herramientas de Hostme.",perks:["Reservas, lista de espera y gestión de mesas","Eventos con cuota mensual y cobro por exceso","Mensajes a clientes por varios canales (correo, SMS, WhatsApp, Telegram)","Widget de reservas online e integración con Google Reserve","Programa de fidelización y CRM de clientes"],ctaOwner:"Elegir un plan",ctaOwnerHint:"Abre el selector de planes en Facturación."},contactOwner:{title:"Hable con su encargado o propietario",intro:"La suscripción y la facturación las gestionan los roles Propietario, Encargado y Soporte. Hable con quien lleva la cuenta de su restaurante — cuéntele qué quiere activar y podrá mejorar el plan en un par de clics.",whatYouUnlock:"Esto es lo que desbloqueará con {tier}:",closeBtn:"Entendido"},closeBtn:"Quizá más tarde",backdropDismiss:"Cerrar"},gotIt:"Entendido",newBadge:"Nuevo"},m={owner:"Propietario",manager:"Encargado",host:"Anfitrión",kitchen:"Cocina",marketing:"Marketing",itSupport:"Soporte informático",support:"Soporte"},g={title:"Añadir imagen",select:"Seleccionar",tab_upload:"Subir",tab_gallery:"Galería",tab_url:"Desde URL",clickToUpload:"Haga clic para elegir una imagen",uploadAnother:"Haga clic para subir otra",uploading:"Subiendo",loadingGallery:"Cargando la galería",galleryEmpty:"Todavía no hay imágenes subidas",imageUrl:"URL de la imagen",imageAlt:"Texto alternativo (para accesibilidad)"},v={templates:"Plantillas",templatesLoading:"Cargando plantillas…",templatesError:"No se han podido cargar las plantillas",templatesEmpty:"No hay plantillas guardadas",blankTemplate:"En blanco (vaciar)",useSimpleEditor:"Usar el editor sencillo",htmlPreview:"Vista previa del correo",insertVariable:"Insertar variable",image:"Imagen",button:"Botón",link:"Enlace",source:"Código fuente",preview:"Vista previa",color:"Color principal",insertImage:"Insertar imagen",insertButton:"Insertar botón",insertLink:"Insertar enlace",sourceCode:"Código fuente",sourceCodeHint:"Edite el HTML directamente. Los cambios sustituirán el contenido del editor.",buttonText:"Texto del botón",linkText:"Texto del enlace",linkTextPlaceholder:"Opcional — si se deja vacío, se usa la URL",linkTextHint:"Déjelo vacío para enlazar el texto seleccionado.",linkUrl:"URL",buttonColor:"Color del botón",textColor:"Color del texto",highlightColor:"Color de resaltado",fontSize:"Tamaño de letra",fontSizeDefault:"Tamaño",primaryColor:"Color principal",primaryColorHint:"Cambia el color de los botones y enlaces que inserte a partir de ahora, e intenta recolorear el fondo de los botones ya presentes en el documento.",urlBuilder:"Generador de URL",buildUrl:"Generar URL",urlBuilderHint:"Genera un enlace de reserva precompletado para tables.hostmeapp.com.",urlDate:"Fecha",urlTime:"Hora",urlPersons:"Comensales",urlArea:"Zona",urlMode:"Modo de reserva",urlModeAuto:"Usar los configuración del restaurante",urlModeAutoConfirm:"Confirmación automática",urlModeRequest:"Solo solicitud",urlGenerated:"URL generada",urlGeneratedPayload:"Payload generado",useUrl:"Usar la URL",urlBuilderTarget:"Reservar para",urlBuilderTargetRestaurant:"Restaurante",urlAreaAny:"Cualquiera",urlBuilderQuickReplyHint:"Genera un payload de respuesta rápida de WhatsApp (book?…) que el bot reconoce.",imageTab_upload:"Subir",imageTab_gallery:"Galería",imageTab_url:"Desde URL",clickToUpload:"Haga clic para elegir una imagen",uploadAnother:"Haga clic para subir otra",uploading:"Subiendo",loadingGallery:"Cargando la galería",galleryEmpty:"Todavía no hay imágenes subidas",imageUrl:"URL de la imagen",imageAlt:"Texto alternativo (para accesibilidad)",desktop:"Escritorio",mobile:"Celular",subject:"Asunto"},b={tabActive:"Activos",tabDraft:"Borradores",tabPast:"Pasados",createEvent:"Crear evento",noSubscription:{title:"Los eventos están incluidos en un plan activo",description:"Cree eventos especiales — cenas temáticas, catas, noches en directo — y reciba reservas de sus clientes. Suscríbase para desbloquear los eventos.",cta:"Elegir un plan"},editEvent:"Editar evento",backToList:"Volver a eventos",discardConfirm:"¿Descartar los cambios sin guardar?",unsavedBadge:"Cambios sin guardar",unsavedLeaveConfirm:"Tiene cambios sin guardar. ¿Salir igualmente de esta página?",requiredField:"Este campo es obligatorio.",saveDisabledHint:"Introduzca el nombre y la fecha de inicio del evento para guardar.",draftHint:"Los eventos nuevos se crean como borrador. Después podrá añadir fotos, reglas de mesas, depósitos y más en la página de edición, y activarlo cuando esté listo.",editorTabs:{information:"Información básica",onlineBooking:"Reserva online",depositsFees:"Depósitos y cargos",coverPacing:"Cadencia",blockedTables:"Mesas bloqueadas",tableRules:"Reglas de mesas",ordering:"Pedidos",publicPage:"Página pública",floorPlans:"Planos de sala",createOnlyHint:"Disponible tras la creación"},override:{badge:"Configuración solo para este evento",description:"Los cambios aquí se aplican únicamente a este evento. Los configuración generales de su restaurante no se modifican.",viewDefault:"Ver la configuración general del restaurante"},section:{basicTitle:"Detalles del evento",basicDesc:"Nombre y descripción que verán los clientes.",publicPageTitle:"Página pública",publicPageDesc:"Muestre este evento en la página de su restaurante y comparta su enlace público.",tagsTitle:"Etiquetas",tagsDesc:"Etiquetas de categoría que los clientes ven en la página del evento.",scheduleTitle:"Programación",scheduleDesc:"Cuándo se celebra el evento y qué franjas de reserva están disponibles.",photosMainTitle:"Foto principal",photosMainDesc:"Imagen destacada que aparece en la parte superior de la página del evento en su perfil público.",photosGalleryTitle:"Galería de fotos",photosGalleryDesc:"Fotos adicionales agrupadas por categoría. Visibles en la galería del evento de su perfil público.",floorPlansTitle:"Planos de sala",floorPlansDesc:"Elija qué planos de sala están disponibles para este evento.",visibilityTitle:"Visibilidad y estado",visibilityDesc:"Controle si el evento está publicado y visible para los clientes."},eventName:"Nombre del evento",eventNamePlaceholder:"p. ej. Noche de cata de vinos",description:"Descripción",descriptionPlaceholder:"Describa su evento…",tagsLabel:"Etiquetas",tagsPlaceholder:"Escriba las etiquetas del evento",tagsHint:"Haga clic en Intro o coma para añadir una etiqueta. Ayuda a los clientes a encontrar el evento.",startDate:"Fecha de inicio",endDate:"Fecha de fin",startTime:"Hora de inicio",endTime:"Hora de fin",repeatEvent:"Repetir cada semana",repeatEventHint:"Usar una programación semanal recurrente en lugar de un único intervalo.",weeklySchedule:"Programación semanal",weeklyScheduleHint:"Defina las franjas horarias de cada día en que se celebra el evento. Los días sin franjas se consideran cerrados.",slots:{title:"Configuración de las franjas",hint:"Puede quitar las franjas que no estén disponibles para reservas.",enableAll:"Activar todas",summaryAll:"Las {n} franjas están activadas",summarySome:"{n} de {total} franjas activadas"},showOnPublicPage:"Mostrar en la página del restaurante",showOnPublicPageHint:"Hacer visible este evento en su página pública",linkToEventPage:"Enlace a la página del evento",activeEvent:"Activo",activeEventHint:"Desactívelo para guardarlo como borrador sin publicarlo",makeActive:"Activar",moveToDraft:"Desactivar",archive:"Archivar",duplicate:"Repetir evento",duplicateNameSuffix:"(copia)",archiveHint:"Este evento ya ha terminado. Al archivarlo desaparece de los activos.",untitled:"Evento sin título",statusDraft:"Borrador",statusPast:"Finalizado",statusOngoing:"En curso",statusUpcoming:"Próximamente",statusOutdated:"Obsoleto",deleteConfirmTitle:"Eliminar evento",deleteConfirmMessage:"¿Seguro que quiere eliminar «{name}»? Esta acción no se puede deshacer.",emptyActiveTitle:"No hay eventos activos",emptyActiveDescription:"Cree su primer evento para empezar a atraer clientes.",emptyDraftTitle:"No hay borradores",emptyDraftDescription:"Los borradores aparecerán aquí cuando guarde sin activar.",emptyPastTitle:"No hay eventos pasados",emptyPastDescription:"Los eventos pasados aparecerán aquí después de su fecha de fin.",pricing:{piccolo:"Con su plan Piccolo los eventos se pagan por uso.",mezzo:"Su plan Mezzo incluye 1 evento próximo gratuito al mes.",grande:"Su plan Grande incluye 5 eventos próximos gratuitos al mes.",extra:"Los eventos adicionales se cobran a 20 USD (o su equivalente local) por evento y mes."},usage:{title:"Plan {plan}",unlimited:"Su plan incluye eventos ilimitados.",withinQuota:"{used} de {quota} eventos usados en este periodo · se reinicia en {days} días. Cada evento adicional cuesta {price}.",overQuota:"{used} de {quota} eventos usados · {overage} evento(s) adicional(es) en este periodo. Cargo adicional estimado: {estimated} ({price}/evento). Se reinicia en {days} días."},quotaConfirm:{title:"¿Superar su cuota mensual?",body:"Ha usado {used} de {quota} eventos en este periodo de facturación. La activación de este evento se cobrará como evento adicional a {price}.",bodyOver:"Ya ha usado {used} de {quota} eventos en este periodo. Activarlo añade otro evento adicional a {price}.",confirm:"Activar igualmente"},gallery:{title:"Galería de fotos",hint:"Fotos que se muestran en la galería pública de la página del evento. Use la categoría para agruparlas en secciones (Comida, Interior, etc.).",createHint:"Guarde primero el evento para poder subir fotos.",empty:"Todavía no hay fotos. Suba la primera abajo.",upload:"Subir fotos",uploading:"Subiendo…",maxSize:"JPG / PNG, hasta 3 MB por foto.",errorTooLarge:"«{name}» supera el límite de 3 MB.",categoryNone:"Elegir categoría",categoryPick:"Categoría",categories:{drink:"Bebidas",food:"Comida",
1interior:"Interior",outdoor:"Exterior",style:"Ambiente",other:"Otro"}},mainPhoto:{title:"Foto principal del evento",hint:"Se usa como imagen destacada en la parte superior de la página pública del evento y como miniatura en los resultados de búsqueda.",upload:"Subir la foto principal"}},h=JSON.parse(`{"title":"Campañas","tabCampaigns":"Campañas","tabAutomations":"Automatizaciones","tabReports":"Reportes","subAll":"Todas","subActive":"Activas","subCompleted":"Finalizadas","subDrafts":"Borradores","filterChannelLabel":"Canal","filterChannel":{"email":"Correo","sms":"SMS","whatsapp":"WhatsApp"},"filterAllChannels":"Todos","filterChannelsSelected":"{count} seleccionados","filterClear":"Restablecer","filterEmptyTitle":"Ninguna campaña coincide con este filtro","filterEmptyHint":"Pruebe otro canal o quite el filtro para ver todas las campañas.","filterScopeNote":"Se buscan sus campañas más recientes — quite el filtro para revisar las más antiguas por páginas.","tokens":"tokens","createCampaign":"Crear campaña","subscriptionRequired":{"title":"Las campañas están incluidas en un plan activo","description":"Envíe a sus clientes campañas y automatizaciones por correo, SMS y WhatsApp, y siga aperturas y clics en los reportes. Suscríbase para desbloquear todas las campañas.","cta":"Elegir un plan"},"editCampaign":"Editar campaña","sendCampaign":"Enviar campaña","scheduleCampaign":"Programar campaña","balanceTitle":"Saldo","balanceCurrent":"Saldo actual","balanceRefresh":"Actualizar","balanceHeldNote":"{count} reservados para campañas activas","balancePerChannelMsgs":"msjs","balancePackagesTitle":"Paquetes de campañas de marketing","balancePackagesEmpty":"Ahora mismo no hay paquetes disponibles.","balanceBuy":"Comprar paquete","balanceBuying":"Abriendo el pago…","balanceCheckoutNote":"Se le redirigirá a una página de pago segura. Los tokens se abonan automáticamente tras el pago.","activateConfirmTitle":"Activar campaña","activateConfirmMessage":"¿Listo para enviar «{name}»?","activateRecipients":"Destinatarios","activateCost":"Se cargará a su saldo","activateBalance":"Saldo actual","activateRemaining":"Saldo tras el envío","activateInsufficient":"Tokens insuficientes","activateInsufficientHint":"Recargue su saldo para enviar esta campaña.","activateTopUp":"Recargar","activateConfirmButton":"Activar","testTitle":"Enviar prueba","testShort":"Prueba","testDescription":"Envíe una prueba de «{name}» para comprobar el contenido y el formato antes de activarla.","testRecipientHint":"Los mensajes de prueba se envían al correo y al teléfono de su cuenta.","testRecipientLabel":"Enviar prueba a","testRecipientPlaceholderEmail":"nombre{'@'}ejemplo.com","testRecipientPlaceholderPhone":"+34 600 12 34 56","testRecipientOwnerNote":"Deje el contacto de su cuenta o introduzca otra dirección.","testEstimatedCost":"Costo estimado","testSend":"Enviar prueba","smsUnicode":"Unicode","smsSegmentsLabel":"Segmentos SMS","campaignName":"Nombre de la campaña","campaignNamePlaceholder":"p. ej. Oferta especial de verano","selectChannels":"Canales","configureChannel":"Configurar el canal","disabledChannelsWarning":"Esta campaña usa {count} canal(es) actualmente desactivados en Mensajes → Canales. No se entregarán hasta que los active.","language":"Idioma","step":"Paso {current} de {total}","step_details":"Detalles","step_content":"Contenido","step_audience":"Audiencia","step_schedule":"Programación","selectChannel":"Seleccionar canal","channelLockedHint":"El canal no se puede cambiar una vez creada la campaña.","disabledChannelLockedHint":"Este canal de marketing aún no está configurado. Configure su proveedor en {link} antes de enviar.","disabledChannelLockedHintLink":"Integraciones → Canales","untitled":"Campaña sin título","saveAndContinue":"Guardar y continuar","continue":"Continuar","discardExit":"Descartar y salir","cancelCampaign":"Cancelar campaña","testSendHint":"Envíe una prueba a sus propios contactos antes de activar la campaña.","emailSubject":"Asunto","emailSubjectPlaceholder":"p. ej. Su oferta exclusiva le espera…","emailPreheader":"Vista previa","emailPreheaderPlaceholder":"Texto breve de vista previa (se muestra en la bandeja de entrada)","emailHeader":"Encabezado","emailBody":"Cuerpo del correo","emailBodyPlaceholder":"Escriba el contenido de su correo…","smsText":"Texto del SMS","smsTextPlaceholder":"Escriba su mensaje SMS…","characters":"caracteres","pushTitle":"Título de la notificación","pushTitlePlaceholder":"p. ej. ¡Una oferta especial solo para usted!","pushBody":"Texto de la notificación","pushBodyPlaceholder":"Mensaje que aparece en la notificación…","whatsappText":"Mensaje de WhatsApp","whatsappTextPlaceholder":"Escriba su mensaje de WhatsApp…","whatsappTemplateNote":"Los mensajes de WhatsApp deben usar plantillas aprobadas previamente. Contacte con soporte para configurar plantillas propias.","whatsappEditor":{"typeLabel":"Tipo de plantilla","typeCard":"Tarjeta única","typeCarousel":"Carrusel","typeCardHint":"Un mensaje con encabezado, cuerpo, pie y botones.","typeCarouselHint":"Texto de introducción y hasta 10 tarjetas deslizables.","headerLabel":"Encabezado","headerImage":"Imagen","headerText":"Texto","headerImageUrl":"URL de la imagen","headerImagePlaceholder":"https://…/imagen.jpg","headerTextPlaceholder":"Texto del encabezado","bodyLabel":"Cuerpo del mensaje","bodyPlaceholder":"Hola, reserve su mesa con nosotros — inserte variables con el selector.","footerLabel":"Pie","footerPlaceholder":"p. ej. Responda STOP para darse de baja","introLabel":"Mensaje de introducción","introPlaceholder":"Descubra nuestras últimas ofertas — inserte variables con el selector.","buttonsLabel":"Botones","addButton":"Añadir botón","buttonType":"Tipo","buttonTitle":"Texto del botón","buttonTypeQuickReply":"Respuesta rápida","buttonTypeUrl":"Abrir el sitio web","buttonTypePhone":"Llamar","buttonUrl":"URL","buttonUrlPlaceholder":"https://…","buttonPhone":"Teléfono","buttonPhonePlaceholder":"+12025551234","buttonCode":"Payload de callback","buttonCodePlaceholder":"book?r=…&t=…","buildUrl":"Generar URL","removeButton":"Quitar","cardsLabel":"Tarjetas","addCard":"Añadir tarjeta","card":"Tarjeta {n}","removeCard":"Quitar tarjeta","cardTitle":"Título","cardTitlePlaceholder":"p. ej. Jazz Night","cardBody":"Descripción","cardBodyPlaceholder":"p. ej. Vie 14 de junio, 20:00","cardImageUrl":"URL de la imagen","cardImageLabel":"Imagen","syncButtons":"Copiar botones","syncButtonsHint":"Todas las tarjetas del carrusel deben tener los mismos botones — mismo número y tipos, en el mismo orden.","previewEmpty":"Aquí aparecerá la vista previa de su mensaje de WhatsApp.","approvalNote":"WhatsApp exige que cada plantilla se apruebe. Al guardar, esta plantilla se envía a WhatsApp para su revisión — podrá lanzar la campaña cuando esté aprobada.","errors":{"MEDIA_OR_HEADER_REQUIRED":"Añada una imagen o un texto de encabezado.","MEDIA_AND_HEADER_CONFLICT":"Use o bien una imagen, o bien un texto de encabezado, pero no ambos.","BODY_REQUIRED":"El cuerpo del mensaje es obligatorio.","BODY_TOO_LONG":"El cuerpo no puede superar los {max} caracteres.","FOOTER_TOO_LONG":"El pie no puede superar los {max} caracteres.","HEADER_TEXT_TOO_LONG":"El texto del encabezado no puede superar los {max} caracteres.","INVALID_VARIABLE_PLACEMENT":"Añada texto alrededor de las variables — un campo no puede empezar ni terminar con una variable, y dos variables no pueden ir seguidas.","TOO_MANY_BUTTONS":"Se permiten como máximo {max} botones.","TOO_MANY_URL_BUTTONS":"Se permiten como máximo {max} botones de enlace.","BUTTON_TITLE_REQUIRED":"El texto del botón es obligatorio.","BUTTON_TITLE_TOO_LONG":"El texto del botón no puede superar los {max} caracteres.","QUICK_REPLY_PAYLOAD_REQUIRED":"Añada un payload de callback para la respuesta rápida.","URL_REQUIRED":"Introduzca una URL.","URL_INVALID":"Introduzca una URL http(s) válida.","PHONE_REQUIRED":"Introduzca un número de teléfono.","PHONE_INVALID":"Introduzca un número en formato E.164 (p. ej. +12025551234).","AT_LEAST_1_CARD":"Añada al menos una tarjeta.","MAX_10_CARDS":"Se permiten como máximo {max} tarjetas.","CARD_MEDIA_REQUIRED":"Cada tarjeta necesita una imagen.","CARD_TITLE_REQUIRED":"El título de la tarjeta es obligatorio.","CARD_TITLE_TOO_LONG":"El título de la tarjeta no puede superar los {max} caracteres.","CARD_BODY_REQUIRED":"La descripción de la tarjeta es obligatoria.","CARD_BODY_TOO_LONG":"La descripción de la tarjeta no puede superar los {max} caracteres.","CAROUSEL_BUTTONS_COUNT_MISMATCH":"Esta tarjeta debe tener el mismo número de botones que la tarjeta 1 ({expected}).","CAROUSEL_BUTTONS_TYPE_MISMATCH":"Los tipos de botón de esta tarjeta deben coincidir con los de la tarjeta 1 y en el mismo orden."}},"whatsappTemplateStatus":{"label":"Plantilla de WhatsApp","unsubmitted":"No envi
1ada","pending":"En revisión","received":"En revisión","approved":"Aprobada","rejected":"Rechazada","paused":"Pausada","disabled":"Desactivada","unknown":"Desconocido","unsubmittedDesc":"Esta plantilla aún no se ha enviado a revisión. Guarde el borrador para enviarla a WhatsApp.","pendingDesc":"WhatsApp está revisando esta plantilla. Podrá activar la campaña cuando esté aprobada.","receivedDesc":"Recibida por el proveedor, a la espera de la revisión de WhatsApp.","approvedDesc":"Aprobada por WhatsApp — puede activar esta campaña.","rejectedDesc":"WhatsApp ha rechazado esta plantilla. Edite el contenido y guarde para volver a enviarla.","pausedDesc":"WhatsApp ha pausado esta plantilla (a menudo por baja calidad). Edítela y vuelva a enviarla.","disabledDesc":"WhatsApp ha desactivado esta plantilla de forma permanente. Cree una plantilla nueva.","unknownDesc":"El estado de la plantilla no está disponible.","blockedHint":"Esta campaña de WhatsApp no se puede enviar hasta que su plantilla esté aprobada."},"personalizationVars":"Variables disponibles","audienceTitle":"Segmento","audienceDescription":"Esta campaña se enviará a todos los clientes de su restaurante que tengan activados los canales seleccionados.","audienceSegmentHint":"El generador de segmentos avanzado llegará pronto. Por ahora, las campañas se envían a todos los contactos aptos.","presetsTitle":"Preajustes rápidos","presetsHint":"Elija un punto de partida.","audienceAllGuests":"Todos los clientes","audie
1nceAllGuestsHint":"Sin filtros — todos los contactos aptos recibirán esta campaña.","audienceAllGuestsInline":"Todos los clientes — sin filtros, todos los contactos aptos.","editFilters":"Editar filtros","editFiltersShort":"Editar","openBuilder":"Abrir el generador","clearSegment":"Restablecer","previewRecipients":"Destinatarios","recipientsUnit":"clientes","tokensUnit":"tokens","tokensUnitShort":"tok.","previewCost":"Costo estimado","spentCost":"Gastado","previewLoading":"Calculando…","previewError":"No se ha podido calcular. Inténtelo de nuevo.","previewNeedsChannel":"Elija un canal en el paso 1 para ver la estimación.","viewSegmentInGuestBook":"Ver estos clientes en el libro de clientes","viewSegmentInGuestBookShort":"Ver en el libro de clientes","tokenBalance":"Saldo de tokens","balanceTotal":"Total","balanceHeld":"Reservados","balanceAvailable":"Disponibles","sendNow":"Enviar inmediatamente","sendNowHint":"La campaña empezará a enviarse de inmediato","scheduleLater":"Programar para más tarde","scheduleLaterHint":"Elija la fecha y la hora de envío","scheduleDate":"Fecha","scheduleTime":"Hora","emptyCampaigns":"Todavía no hay campañas","emptyCampaignsHint":"Cree su primera campaña para empezar a llegar a sus clientes.","emptyAutomations":"Todavía no hay automatizaciones","emptyAutomationsHint":"Los mensajes automáticos se activan con acciones del cliente: reservar, visitar o dejar una opinión.","deleteConfirmTitle":"Eliminar campaña","deleteTriggerTitle":"Eliminar automatización","deleteConfirmMessage":"¿Seguro que quiere eliminar «{name}»? Esta acción no se puede deshacer.","statusDraft":"Borrador","statusActive":"Activa","statusInProgress":"Enviando","statusFinished":"Finalizada","statusCanceled":"Cancelada","statusTesting":"En prueba","statusScheduled":"Programada","statusFailed":"Error","statusTrigger":"Disparador","triggerBookingCreated":"Reserva creada","triggerBookingReminder":"Recordatorio de reserva","triggerBookingCanceled":"Reserva cancelada","triggerBookingCompleted":"Visita completada","triggerBirthday":"Cumpleaños","triggerFeedback":"Solicitud de opinión","triggerWinBack":"Recuperación","triggerCustom":"Disparador personalizado","triggerActive":"Activo","triggerInactive":"Inactivo","sent":"Enviados","sentShort":"Env.","delivered":"Entregados","opened":"Abiertos","clicked":"Con clic","bounced":"Rebotados","undelivered":"No entregados","spam":"Spam","failed":"Errores","bookings":"Reservas","deliveryRate":"Tasa de entrega","openRate":"Tasa de apertura","clickRate":"Tasa de clics","reportsOverview":"Resumen","reportsScopeNote":"Se muestran sus campañas más recientes — las más antiguas todavía no se incluyen en estos totales.","reportsTotalCampaigns":"Total de campañas","reportsTotalSent":"Total enviado","reportsCampaignDetail":"Reporte","reportsSelectCampaign":"Seleccione una campaña…","reportsSelectPrompt":"Seleccione arriba una campaña para ver su reporte detallado.","reportsFunnel":"Embudo de entrega","reportsDetailed":"Desglose detallado","reportsChannelBreakdown":"Por canal","reportsComparison":"Todas las campañas","reportsColCampaign":"Campaña","reportsColDate":"Fecha","reportsExportCsv":"Exportar","reportsExportCampaignCsv":"Exportar","reportsUniqueTotalHint":"Las columnas Aperturas y Clics muestran: únicos / total. Los porcentajes se calculan sobre destinatarios únicos.","reportsTotalLabel":"total {n}","reportsSentLabel":"{n} enviados","reportsCampaignsCount":"{n} campañas","reportsBounced":"Rebotados","reportsUndelivered":"No entregados","reportsSpam":"Spam","reportsFailed":"Errores","reportsEmpty":"No hay campañas finalizadas","reportsEmptyHint":"Los reportes de campaña aparecerán aquí cuando terminen los envíos.","reportsFilterEmpty":"Ninguna campaña coincide con estos filtros","reportsFilterEmptyHint":"Pruebe otro tipo de campaña u otro canal — o quite los filtros.","reportsTypeLabel":"Tipo","reportsColType":"Tipo","reportsTypeAll":"Todos","reportsTypeCampaigns":"Campañas","reportsTypeAutomations":"Automatizaciones","reportsTypeCampaign":"Campaña","reportsT
1ypeAutomation":"Automatización","reportsTypeAutomationShort":"Auto","created":"Creada","recipients":"destinatarios","scheduledFor":"Programada","sentOfPlanned":"{sent} enviados de {planned}","sendsImmediately":"Se envía de inmediato","sendsImmediatelyShort":"Ahora","sentOn":"Enviada el","sendTiming":"Momento del envío","saveError":"No se ha podido guardar la campaña. Inténtelo de nuevo.","saveErrorNoSubscription":"Su restaurante no tiene una suscripción activa. Active la facturación en Administración → Facturación para guardar y enviar campañas.","start":"Iniciar","activateMissingContent":"Añada el contenido del mensaje antes de iniciar","activateMissingContentHint":"Falta contenido para: {channels}. Abra la campaña y complete el mensaje de cada canal seleccionado.","activateNoChannels":"Elija al menos un canal","activateNoChannelsHint":"Abra la campaña y seleccione Correo, SMS o WhatsApp antes de iniciar.","send":"Enviar","duplicate":"Duplicar","viewReport":"Reporte","moreActions":"Más acciones","searchPlaceholder":"Buscar campañas por nombre…","searchPlaceholderShort":"Buscar campañas…","searchClear":"Borrar la búsqueda","colName":"Campaña","colUpdated":"Última actualización","colStatus":"Estado","colChannel":"Canales","colSegment":"Destinatarios","colSchedule":"Fecha","colActions":" ","statsSent":"Enviados","statsDelivered":"Entregados","statsOpened":"Abiertos","triggerUnknown":"Disparador desconocido","triggerNoShow":"No-show","triggerPostVisit":"Tras la visita","triggerInactivity":"Inactividad","triggerNewGuest":"Cliente nuevo","createAutomation":"Crear automatización","editAutomation":"Editar automatización","automationsDescription":"Envíe mensajes automáticamente cuando un cliente hace algo: reserva, viene, no se presenta, deja una opinión o deja de venir.","automationsAlphaTitle":"Automatizaciones — Alfa","automationsAlphaHint":"Las automatizaciones están en fase alfa y en pruebas activas. Estamos añadiendo más disparadores y condiciones — habrá cambios, y le agradecemos que nos reporte de cualquier problema.","channelEmail":"Email","channelSms":"SMS","channelWhatsapp":"WhatsApp"}`),f={createTitle:"Crear automatización",editTitle:"Editar automatización",step_trigger:"Disparador",step_content:"Canales y contenido",step_audience:"Audiencia",step_review:"Revisar y guardar",step_settings:"Configuración",summarySection:"Resumen",automationName:"Nombre de la automatización",automationNamePlaceholder:"p. ej. Felicitaciones de cumpleaños",pickTrigger:"Elija un disparador",groupScheduled:"Programado",groupEvent:"Por evento",typeBirthday:"Cumpleaños",descBirthday:"Se activa el día del cumpleaños del cliente.",typeAnniversary:"Aniversario",descAnniversary:"Se activa en la fecha de aniversario del cliente.",typeJoined:"Alta",descJoined:"Se activa según la fecha en que el cliente entró en su CRM.",typeLastVisit:"Última visita",descLastVisit:"Recupere clientes según la fecha de su última visita.",typeVisits:"Número de visitas",descVisits:"Cuando un cliente alcanza un umbral de visitas totales.",typeVisits30:"Visitas (30 días)",descVisits30:"Las visitas de los últimos 30 días alcanzan un umbral.",typeCancelations:"Cancelaciones",descCancelations:"El total de cancelaciones alcanza un umbral.",typeSpent:"Importe gastado",descSpent:"El importe total gastado alcanza un umbral.",typeTotalEvents:"Total de eventos",descTotalEvents:"El total de reservas de eventos alcanza un umbral.",typeStatusAssigned:"Cambio de estado de la reserva",descStatusAssigned:"Se activa cuando una reserva alcanza un estado concreto.",typeTagAssigned:"Etiqueta asignada",descTagAssigned:"Se activa cuando se asigna una etiqueta a un cliente.",conditions:"Condiciones",when:"Cuándo",dateModeToday:"El mismo día",dateModeBefore:"Antes",dateModeAfter:"Después",daysSuffix:"días",thresholdLabel:"Umbral",thresholdPlaceholder:"p. ej. 5",bookingStatuses:"Estados de reserva",statusConfirmed:"Confirmada",statusCanceled:"Cancelada",statusNoShow:"No-show",statusClosed:"Cerrada",tagsLabel:"Etiquetas",tagsPlaceholder:"Escriba una etiqueta y haga clic en Intro",tagsHint:"La automatización se activa cuando se asigna cualquiera de estas etiquetas.",delayLabel:"Retraso tras el evento",minutesSuffix:"minutos",sendTimeLabel:"Hora de envío (local)",sendTimeHint:"Se envía dentro de ±30 min respecto a esta hora.",audienceTitle:"Audiencia",audienceHint:"Todos los clientes que cumplen la condición del disparador. Añada filtros de segmento para acotar más la audiencia.",triggerType:"Disparador",activateOnSave:"Activar de inmediato",activateOnSaveHint:"Una vez activada, la automatización se disparará para los clientes que cumplan la condición. Puede pausarla cuando quiera.",saveAsDraft:"Guardar como borrador",saveAndActivate:"Guardar y activar",balanceWarning:"El saldo está vacío — la activación puede fallar. Recargue antes de activar.",summaryOnTheDay:"Se activa el mismo día",summaryNDaysBefore:"Se activa {n} día(s) antes",summaryNDaysAfter:"Se activa {n} día(s) después",summaryThreshold:"Umbral: {n}",summarySendAt:"Se envía a las {time} hora local",summaryDelay:"Retraso de {n} min"},y=JSON.parse(`{"bookingRules":{"managerNotifications":"Notificaciones para el encargado","managerNotificationsDesc":"Controle cómo se avisa a su equipo de las reservas nuevas y próximas.","notificationEmail":"Correo de notificaciones","notificationEmailPlaceholder":"encargado{'@'}restaurante.com","notificationEmailHint":"Los avisos de nuevas reservas se enviarán aquí. Separe varias direcciones con comas.","useManagerEmail":"Usar el correo del encargado como dirección de envío","useManagerEmailHint":"Las confirmaciones a los clientes saldrán desde su correo en lugar de noreply{'@'}hostmeapp.com. Los clientes podrán responder directamente a su equipo.","notifyPhone":"Teléfono para notificaciones SMS","notifyPhoneHint":"Reciba avisos por SMS de las nuevas reservas. Déjelo vacío para desactivarlo.","minutesToNotify":"Aviso previo a la reserva","minutesToNotifyHint":"Tanto el destinatario del correo como el tel
1éfono SMS de arriba reciben un recordatorio estos minutos antes de cada reserva próxima.","minutesToNotifyZeroHint":"Póngalo a 0 para desactivar por completo el aviso previo.","minutesToNotifyTip":"Consejo: 30 min en restauración informal, 60–120 min en alta cocina para preparar la mesa.","customerReminder":"Recordatorio de confirmación al cliente","customerReminderDesc":"Recuerde automáticamente a los clientes que confirmen su reserva antes de llegar. Los restaurantes que usan recordatorios registran entre un 30 y un 40 % menos de no-shows.","enableReminders":"Enviar recordatorio de confirmación a los clientes","enableRemindersHint":"Los clientes recibirán un mensaje pidiéndoles que confirmen o cancelen su reserva.","reminderMinutes":"Enviar el recordatorio antes de la llegada","reminderMinutesHint":"Con cuánta antelación recibe el cliente el recordatorio de confirmación.","reminderPreset30":"30 min","reminderPreset60":"1 hora","reminderPreset120":"2 horas","reminderPreset1440":"1 día","reminderCustom":"Personalizado","reminderPreview":"El cliente recibirá: «Recordatorio — su reserva en {restaurant} es dentro de {time}. Confírmela, por favor».","reservationWaitlist":"Lista de espera para reservas","reservationWaitlistDesc":"Cuando no hay espacio a la hora solicitada, el anfitrión puede anotar al cliente en una lista de espera en lugar de rechazar la reserva. En cuanto se libere un espacio, confirma la reserva con un clic.","reservationWaitlistNote":"No confundir con la lista de espera presencial (pestaña «{link}»), que gestiona a los clientes que esperan mesa en el local.","reservationWaitlistEnabled":"Activar la lista de espera para reservas","hostPartySize":"Tamaño del grupo (reservas del equipo)","hostPartySizeDesc":"Defina los límites de tamaño de grupo para las reservas que crea su equipo (teléfono, sin reserva previa).","onlinePartySizeNote":"Los límites de las reservas online se configuran en la pestaña {link}.","partySizeMinMaxError":"El mínimo debe ser menor o igual que el máximo","outsideHours":"Reservas fuera del horario de apertura","outsideHoursDesc":"Permita a los anfitriones crear manualmente reservas para horas en las que el restaurante ya está cerrado — por ejemplo, las 22:00 si usted cierra a las 21:00. No afecta a las reservas online de los clientes.","outsideHoursToggle":"Permitir reservas fuera del horario de apertura","minPartySize":"Mínimo","maxPartySize":"Máximo","partySizeUnit":"comensales","partySizeOnlineNote":"Límites de reserva online →","partySizeOnlineLink":"pestaña «Reserva online»","specialRequests":{"title":"Opciones de peticiones especiales","desc":"Elija qué opciones aparecen al crear una reserva. Las opciones activadas se muestran tanto en el panel del anfitrión como en el widget de reserva online.","groupAccessibility":"Accesibilidad","groupDietary":"Dieta","groupSeating":"Preferencias de mesa","groupOther":"Otro","allergy":"Aviso de alergia","vegetarian":"Vegetariano","event":"Celebración / Ocasión especial","booth":"Reservado (banco)","table":"Mesa concreta","highTop":"Mesa alta","highChair":"Necesita trona","stroller":"Carrito de bebé","babyCarrier":"Portabebés","wheelchair":"Accesible en silla de ruedas","vaccination":"Certificado de vacunación / prueba","customFieldsTitle":"Campos personalizados","customFieldsDesc":"Añada sus propios campos, que el personal o los clientes rellenan al crear una reserva. Arrastre para reordenar.","customFieldsFlags":"Marque «Online» para incluir el campo en el formulario de reserva online. Marque «Destacado» para situarlo encima de la sección Peticiones especiales, de modo que los clientes lo vean sin desplegarla.","noCustomFields":"Todavía no hay campos personalizados. Añada uno para recoger información adicional de los clientes.","addCustomField":"Añadir campo","cfDescriptionPlaceholder":"Nombre del campo, p. ej. Ocasión, Código promocional","cfTypeText":"Texto","cfTypeSwitch":"Interruptor","cfColDescription":"Descripción","cfColType":"Tipo","cfColOnline":"Online","cfOnlineHint":"Mostrar este campo a los clientes en el formulario de reserva online","cfColFeatured":"Destacado","cfFeaturedHint":"Mostrar este campo encima de la sección Peticiones especiales, para que los clientes lo vean sin desplegarla.","cfChangeIcon":"Cambiar icono"},"cancellationReasons":{"title":"Motivos de cancelación y rechazo","desc":"Motivos predefinidos que su equipo puede elegir al cancelar o rechazar una reserva. La nota se incluye en la notificación que recibe el cliente.","reasonPlaceholder":"Nombre del motivo","notePlaceholder":"Nota para el cliente","addReason":"Añadir motivo","defaultBadge":"Sistema","defaultHint":"Los motivos del sistema no se pueden eliminar","charCount":"{count}/64","defaults":{"guestRequest":"A petición del cliente","noShow":"No-show"}},"noShow":{"title":"Gestión de los no-shows","desc":"Cuánto espera el sistema tras la hora de la reserva antes de poder marcar como no-show a un cliente que llega tarde. Se aplica igual a las reservas creadas por el equipo y a las online.","gracePeriod":"Margen de cortesía","gracePeriodWarn":"Con 0 no hay margen de cortesía — los clientes que llegan tarde se pueden marcar como no-show de inmediato."}},"onlineBooking":{"approvalMode":"Modo de aprobación","approvalModeDesc":"Controle cómo se aprueban las reservas online. La aprobación automática agiliza el proceso para grupos pequeños, mientras que la revisión manual da a su equipo el control total.","autoApproveAll":"Aprobar automáticamente todas las reservas","autoApproveAllHint":"Cada reserva online se confirma al instante, sin intervención del equipo.","manualFromSize":"Exigir aprobación para grupos grandes","manualFromSizeHint":"Los grupos de este tamaño o mayores los confirma el anfitrión. Los más pequeños se confirman automáticamente.","manualReviewAll":"Revisar manualmente todas las reservas","manualReviewAllHint":"Cada reserva online queda como solicitud hasta que su equipo la aprueba o la rechaza.","guests":"comensales","guestsOrMore":"comensales o más","onlinePartySize":"Tamaño del grupo (online)","onlinePartySizeDesc":"Defina el tamaño de grupo mínimo y máximo que los clientes pueden elegir al reservar online.","minPartySize":"Mínimo","maxPartySize":"Máximo","hostPartySizeNote":"Los límites de las reservas del equipo o por teléfono se configuran en la pestaña {link}.","bookingWindow":"Ventana de reserva","bookingWindowDesc":"Defina cuándo pueden reservar online los clientes — des
1de la antelación mínima hasta el horizonte máximo de planificación.","earliestBooking":"Antelación mínima","notice30":"30 min","notice60":"1 hora","notice120":"2 horas","notice240":"4 horas","notice480":"8 horas","notice1440":"1 día","noticeCustom":"Personalizado","latestBooking":"Antelación máxima","daysInAdvance":"días","cutoffTime":"Hora de cierre diaria","cutoffDisabled":"Desactivada","cutoffTimeHint":"Pasada esta hora no se aceptan reservas online para el mismo día. Déjelo desactivado para aceptarlas hasta el cierre.","bookingForm":"Formulario de reserva","bookingFormDesc":"Controle qué campos opcionales y qué opciones aparecen en el formulario de reserva online. Estos configuración afectan solo al widget online — el formulario de reserva del panel de administración no cambia.","bookingFormCrossLink":"Las casillas de peticiones especiales integradas y los campos personalizados se configuran en {link}.","showNotes":"Mostrar el campo de notas","showNotesHint":"Mostrar el campo «Notas» en el formulario de reserva online para que el cliente pueda dejar un comentario libre.","allowChooseArea":"Permitir que los clientes elijan zona","allowChooseAreaHint":"Los clientes ven las zonas disponibles (terraza, sala, barra, etc.) y pueden elegir una. Mientras esté desactivado, la lista de zonas no se envía ni al widget ni a las integraciones conectadas.","allowChooseTable":"Permitir que los clientes elijan mesa","allowChooseTableHint":"Los clientes ven el plano de sala y pueden elegir una mesa concreta.","requireTableSelection":"Selección de mesa obligatoria","requireTableSelectionHint":"Los clientes deben elegir una mesa para completar la reserva. Si está desactivado, elegir mesa es opcional.","coversAvailable":"Comensales disponibles","coversAvailableDesc":"Número máximo de comensales disponibles para reservas online en un momento dado. Active «Ilimitado» si no quiere limitar la capacidad online.","covers":"comensales","approvalAreasTitle":"Zonas que siempre requieren aprobación","approvalAreasHint":"Las reservas en estas zonas quedan a la espera de que las confirme un anfitrión, sea cual sea el tamaño del grupo — incluso cuando todo lo demás se aprueba automáticamente.","approvalAreasNeedPicker":"A los clientes n
1o se les pide la zona al reservar en línea, así que esas reservas llegan sin zona y la regla no se les aplica. Activa «Permitir que los clientes elijan la zona» en {link}.","summaryAutoAll":"Ahora mismo: todas las reservas online se confirman automáticamente.","summaryAutoExceptAreas":"Ahora mismo: las reservas se confirman automáticamente, salvo en {areas} — esas esperan a un anfitrión.","summaryFromSize":"Ahora mismo: las reservas de {size} comensales o más esperan a un anfitrión; las menores se confirman automáticamente.","summaryFromSizeAndAreas":"Ahora mismo: las reservas de {size} comensales o más esperan a un anfitrión, igual que cualquiera en {areas}. Todo lo demás es automático.","summaryManualAll":"Ahora mismo: todas las reservas online esperan a que un anfitrión las confirme."},"depositsFees":{"enableFeeCollection":"Activar el cobro","enableFeeCollectionDesc":"Active el cobro de depósitos o cargos por cancelación en las reservas. Requiere un proveedor de pago conectado.","enableFeeCollectionLabel":"Cobrar por las reservas","providerNotConnected":"No hay ningún proveedor de pago conectado. Vaya a {link} para configurar uno antes de activar el cobro.","providerConnected":"Proveedor de pago conectado","integrationsLink":"Integraciones","rules":"Reglas","rulesDesc":"Elija si cobra un depósito al reservar o un cargo por cancelación cuando el cliente cancela fuera de plazo.","feeMode":"Modo de cobro","deposit":"Depósito","depositHint":"El cliente paga al hacer la reserva. Reembolsable según su política de reembolsos.","cancellationFee":"Cargo por cancelación","cancellationFeeHint":"Solo se cobra al cliente si cancela una vez pasado el plazo de cancelación.","refundPercent":"Porcentaje de reembolso predeterminado","refundPercentHint":"Porcentaje del depósito que se devuelve cuando el equipo cancela una reserva.","cancellationPeriod":"Plazo de cancelación","useSpecificTime":"Definir por una hora concreta del día","hoursLabel":"Horas antes de la reserva","hoursBeforeReservation":"Horas antes de la reserva","hoursUnit":"horas","hoursHint":"Se cobrará al cliente si cancela con menos de estas horas de antelación respecto a la reserva.","timeLabel":"Hora límite el día de la reserva","timeHint":"Se cobrará al cliente si cancela después de esta hora el día de la reserva.","feesByGroup":"Cargos por tamaño de grupo","feesByGroupDesc":"Defina el importe para cada tamaño de grupo. Los grupos grandes pueden tener depósitos o cargos distintos.","groupSize":"Tamaño del grupo","amount":"Importe","noRules":"Todavía no hay reglas de cobro configuradas.","addRule":"Añadir regla de cobro","paymentTimeoutTitle":"Tiempo límite de pago","paymentTimeoutDesc":"Cuando se exige un depósito o una preautorización, la reserva se cancela automáticamente si el cliente no paga a tiempo. Opcionalmente, se puede enviar un recordatorio antes de la cancelación.","autoCancelLabel":"Cancelar automáticamente a los","autoCancelHint":"Tiempo desde la creación de la reserva. Si el cliente no ha pagado para entonces, la reserva se cancela automáticamente.","paymentReminderLabel":"Enviar recordatorio de pago","paymentReminderHint":"Tiempo desde la creación de la reserva en que se envía un recordatorio. Póngalo a 0 para desactivarlo. Debe ser menor que el plazo de cancelación automática.","paymentTimeoutWarning":"El recordatorio se dispara en el momento de la cancelación automática o después — así que los clientes nunca lo recibirán. Reduzca el valor del recordatorio por debajo del de la cancelación automática.","minutesUnit":"min","paymentMethods":"Métodos de pago","paymentMethodsDesc":"Elija qué métodos de pago están disponibles al cobrar depósitos o cargos de reservas.","cashPayment":"Efectivo","cashPaymentHint":"Aceptar pagos en efectivo en el restaurante.","cardPayment":"Tarjeta","cardPaymentHint":"Aceptar pagos con tarjeta online. Requiere un proveedor de pago conectado.","invoicePayment":"Factura","invoicePaymentHint":"Enviar una factura al cliente. Requiere un proveedor de pago conectado.","requiresProvi
1der":"Conecte un proveedor de pago en {link} para activar este método."},"waitlist":{"autoCall":"Llamada automática y asignación de mesas","autoCallDesc":"Configure cómo se avisa y se sienta a los clientes cuando queda una mesa libre. La llamada automática avisa al siguiente cliente de la fila; la asignación automática elige la mejor mesa por él.","autoCallGuest":"Llamar automáticamente al cliente cuando haya mesa libre","autoCallGuestHint":"Avisar automáticamente al siguiente cliente de la cola en cuanto se libere una mesa adecuada.","autoTableAssignment":"Asignar mesas automáticamente (lista de espera)","autoTableAssignmentHint":"Cuando se llama a un cliente de la lista de espera, el sistema le preselecciona una mesa. Activarlo desactiva la llamada manual. Es independiente del ajuste de asignación automática para reservas de {link}.","autoCallCancelDelay":"Cancelar automáticamente si no hay respuesta","autoCallCancelDelayHint":"Cancelar automáticamente la llamada y pasar al siguiente cliente si no hay respuesta en el tiempo indicado.","autoCallCancelDelayTime":"Cancelar tras","waitTime":"Estimación del tiempo de espera","waitTimeDesc":"Elija cómo 
1se calcula el tiempo de espera estimado para los clientes en lista de espera. La estimación se muestra a los clientes y ayuda a ajustar sus expectativas.","etaMethod":"Método de cálculo","etaAverage":"Tiempo de espera medio","etaAverageHint":"Calcular el tiempo de espera a partir de la rotación media reciente.","etaTableAvailability":"Según la disponibilidad de mesas","etaTableAvailabilityHint":"Calcular el tiempo de espera según las mesas que van a quedar libres y el tamaño del grupo.","lookBackWindow":"Periodo de análisis del tiempo medio","lookBackWindowHint":"Cuánto hay que retroceder para calcular el tiempo de espera medio.","adjustWaitTime":"Ajustar el tiempo de espera al asignar mesa","adjustWaitTimeHint":"Recalcular automáticamente los tiempos estimados del resto de clientes cuando se asigna una mesa.","holdSettings":"Configuración de retención","holdSettingsDesc":"Controle cuánto tiempo se puede mantener a un cliente en espera y si los anfitriones pueden hacerlo manualmente.","enableManualHold":"Permitir la retención manual","enableManualHoldHint":"Permitir que los anfitriones dejen manualmente una entrada en espera (p. ej. mientras se prepara la mesa).","maximumHoldTime":"Tiempo máximo de retención","maximumHoldTimeHint":"Número máximo de minutos que un cliente puede permanecer retenido antes de volver automáticamente a la cola.","workflow":"Opciones del flujo","workflowDesc":"Personalice el flujo de creación de entradas de lista de espera para sus anfitriones.","showSpecialRequests":"Mostrar las peticiones especiales al crear la entrada","showSpecialRequestsHint":"Mostrar las opciones de peticiones especiales (accesibilidad, preferencias de mesa, etc.) al añadir un cliente nuevo a la lista de espera."},"statuses":{"preSeatingTitle":"Estados previos a sentar","preSeatingDesc":"Estados por los que pasa una reserva antes de que el cliente se siente realmente. Ayudan al anfitrión a ver qué grupos están listos para pasar a la mesa.","customTableTitle":"Estados de mesa personalizados","customTableDesc":"Fases del servicio para los grupos ya sentados (entrante, principal, postre, cuenta).","customTableDescProgress":"El campo «Duración %» adelanta el fin estimado de la comida — déjelo vacío para no modificar la hora de fin prevista de la reserva.","grandeUpgrade":"Añadir estados nuevos y eliminar los personalizados está disponible en el plan Grande. Aun así, puede editar el color, la aplicabilidad, el orden y el estado activo de los estados existentes de abajo.","noPreSeating":"No hay estados previos a sentar definidos.","noTableStates":"No hay estados de mesa personalizados definidos.","addStatus":"Añadir estado","colTitle":"Título","colReservation":"Reserva","colWaiting":"Lista de espera","colActive":"Activo","colDuration":"Duración","appliesToReservation":"Se aplica a las reservas","appliesToWaiting":"Se aplica a la lista de espera","colorPicker":"Elegir el color del estado","titlePlaceholder":"Nombre del estado","dragToReorder":"Arrastre para reordenar","defaults":{"called":"Llamado","checkIn":"Llegada","partiallyArrived":"Llegada parcial","late":"Con retraso","drinks":"Bebidas","starters":"Entrantes","mainCourse":"Plato principal","dessert":"Postre","billDropped":"Cuenta entregada","paidBill":"Cuenta pagada"}}}`),C=JSON.parse('{"cancelSubscription":{"backToBilling":"Volver a Facturación","heroTitle":"Sentimos que se marche","heroDesc":"Cuéntenos por qué cancela — su respuesta nos ayuda a centrarnos en lo que más importa a restaurantes como el suyo.","steps":{"reason":"Motivo","feedback":"Opinión"},"reason":{"title":"¿Por qué cancela?","messageLabel":"¿Quiere añadir algo más? (opcional)","messagePlaceholder":"Dénos más contexto — ¿qué habría marcado la diferencia?","vendorLabel":"¿A qué plataforma se cambia?","vendorPlaceholder":"Seleccione una plataforma…","options":{"TooExpensive":{"label":"Demasiado caro","hint":"Hostme debería pagarse solo con el tiempo ahorrado al teléfono y los no-shows evitados. Si las cuentas no salen, díganos qué plan o complemento se salió del presupuesto."},"MissingFeatures":{"label":"Faltan funciones","hint":"Díganos qué faltaba — en cada versión lanzamos funciones pedidas por clientes."},"TechnicalIssues":{"label":"Problemas técnicos","hint":"Caídas, páginas lentas, problemas de sincronización — cualquier detalle nos ayuda a reproducirlo y corregirlo."},"NotUsingApp":{"label":"No uso la aplicación lo suficiente","hint":"Puede que la puesta en marcha no cuajara. Si lo desea, le ofrecemos una sesión guiada individual gratuita."},"SwitchingToAnotherApp":{"label":"Cambio a otra plataforma","hint":"Nos gustaría saber a cuál y qué inclinó la balanza."},"ChangePlan":{"label":"Solo quiero cambiar de plan","hint":"No hace falta cancelar — puede cambiar de plan directamente. Le llevamos al selector de planes."},"SeasonalBusiness":{"label":"Cierre por temporada","hint":""},"CloseOfBusiness":{"label":"Cierre del negocio","hint":""},"Mistake":{"label":"Me suscribí por error","hint":""}},"vendors":{"OpenTable":"OpenTable","Tock":"Tock","Resy":"Resy","Toast":"Toast","Sevenrooms":"SevenR
1ooms","WaitlistMe":"Waitlist Me","Eat":"Eat App","Yelp":"Yelp Reservations","Tablein":"Tablein","Wisely":"Wisely","Other":"Otra"}},"aftermath":{"title":"Qué sucede 24 horas después de cancelar","bullets":{"onlineBookings":"Las reservas online (widget, aplicación de clientes, enlaces directos) se desactivarán.","hostPanel":"El panel de anfitrión dejará de mostrar horarios disponibles: no se podrán tomar nuevas reservas.","guestApp":"Su restaurante se retirará de la búsqueda en la aplicación de clientes de Hostme.","googleIntegrations":"Se eliminarán las integraciones con Google Reserve y Google Business Messages.","integrations":"Todas las integraciones de terceros (TPV, marketing, pagos) se desactivarán.","addOns":"Los complementos activos (SMS, WhatsApp, mensajería de pago) se cancelarán y dejarán de cobrarse.","reactivate":"Puede reactivarla en cualquier momento antes de que termine el periodo — queda {count} día. | Puede reactivarla en cualquier momento antes de que termine el periodo — quedan {count} días."}},"feedback":{"heroTitle":"Una última cosa: ¿qué tal le ha ido con Hostme?","heroDesc":"Su opinión sincera da forma al producto. Este es el último paso.","title":"¿Cómo describiría su experiencia?","desc":"Elija la opción que mejor refleje su etapa con Hostme.","messageLabel":"¿Qué le llamó la atención, para bien o para mal? (opcional)","messagePlaceholder":"Los momentos, funciones o interacciones concretos son los que más ayudan al equipo.","options":{"MetExpectations":{"label":"Cumplió mis expectativas","hint":"Hostme hizo lo que prometimos — aunque se marche, el producto funcionó."},"DidntMeetExpectations":{"label":"No cumplió mis expectativas","hint":"Algo falló — funciones, soporte, rendimiento o encaje general."},"DidntUseTheApp":{"label":"Apenas usé la aplicación","hint":"La puesta en marcha, el tiempo o las prioridades se cruzaron antes de poder probarla en serio."}}},"cta":{"continue":"Continuar →","browsePlans":"Ver planes →","backToReason":"Atrás","cancelFinal":"Cancelar la suscripción","dismiss":"Cancelar"}},"reservations":{"title":"Reservas","bookingRules":"Reglas de reserva","onlineBooking":"Reserva online","depositsFees":"Depósitos y cargos","waitlist":"Lista de espera","statusesWorkflows":"Estados y flujos"},"floorTables":{"title":"Sala y mesas","floorPlans":"Planos de sala","tableRules":"Reglas de mesas","availability":"Disponibilidad","coverPacing":"Cadencia","blockedTables":"Mesas bloqueadas"},"ordering":{"title":"Pedidos","menuBuilder":"Editor de cartas","products":"Productos","categories":"Categorías","modifiers":"Modificadores","settings":"Configuración"},"guests":{"title":"Clientes","guestBook":"Libro de clientes","tagsSegments":"Etiquetas","settings":"Configuración"},"messaging":{"title":"Mensajes","channels":"Canales","templates":"Plantillas","emailCustomization":"Personalización del correo","branding":"Marca","policies":"Políticas"},"marketing":{"title":"Campañas","campaigns":"Campañas","events":"Eventos"},"events":{"title":"Eventos"},"onlinePresence":{"title":"Presencia online","publicPage":"Página pública","widgetGenerator":"Generador de widgets","customizationTab":"Personalización","partnerNetworks":"Redes asociadas","publicLinks":"Enlaces públicos","publicLinksDesc":"La URL de la página pública de su restaurante y el enlace a su sitio web.","publicPageUrl":"URL de la página pública","website":"Sitio web","websitePlaceholder":"https://www.surestaurante.es","visibility":"Visibilidad","visibilityDesc":"Controle si su restaurante aparece en los resultados de búsqueda de Hostme.","showOnHostme":"Mostrar en Hostme","showOnHostmeHint":"Al activarlo, su restaurante aparecerá en la búsqueda y el directorio de Hostme.","profileInfo":"Información del perfil","profileInfoDesc":"Información básica sobre su restaurante que verán los clientes.","description":"Descripción","descriptionPlaceholder":"Hable a los clientes de su restaurante…","priceRange":"Rango de precios","selectPriceRange":"Elegir rango de precios","priceRangeOptions":{"budget":"$ — Económico","moderate":"$$ — Medio","upscale":"$$$ — Alto","fineDining":"$$$$ — Alta cocina"},"categoryLabels":{"bbq":"Barbacoa","breakfastBrunch":"Desayuno / Brunch","bar":"Bar","cafe":"Cafetería","chinese":"China","creativeCocktails":"Cócteles de autor","desserts":"Postres","family":"Familiar","farmToTable":"De la huerta a la mesa","fish":"Pescado","french":"Francesa","global":"Internacional","indian":"India","italian":"Italiana","japaneseSushi":"Japonesa / Sushi","liveMusic":"Música en directo","mediterranean":"Mediterránea","mexican":"Mexicana","pho":"Pho","pizza":"Pizza","ramen":"Ramen","romantic":"Romántico","seafood":"Marisco","southern":"Cocina del sur de EE. UU.","spanishTapas":"Española / Tapas","steak":"Carnes a la brasa","thai":"Tailandesa","vegetarian":"Vegetariana","wings":"Alitas"},"cuisineLabels":{"american":"Estadounidense","asian":"Asiática","chinese":"China","french":"Francesa","indian":"India","italian":"Italiana","japanese":"Japonesa","korean":"Coreana","mediterranean":"Mediterránea","mexican":"Mexicana","middleEastern":"De Oriente Medio","seafood":"Marisco","southern":"Cocina del sur de EE. UU.","spanish":"Española","thai":"Tailandesa","vietnamese":"Vietnamita"},"categories":"Categorías","categoriesDesc":"Seleccione las categorías que mejor describen su restaurante.","cuisine":"Cocina","cuisineDesc":"Seleccione los tipos de cocina que ofrece.","photos":"Fotos","photosDesc":"Añada fotos para enseñar su restaurante a posibles clientes.","uploadPhotos":"Subir fotos","brandingImages":"Imágenes de marca","brandingImagesDesc":"Su logotipo y su imagen promocional para los widgets y las páginas públicas.","logo":"Logotipo","uploadLogo":"Subir logotipo","promoImage":"Imagen promocional","uploadPromoImage":"Subir imagen","socialMedia":"Redes sociales","socialMediaDesc":"Añada sus enlaces de redes sociales para que los clientes puedan seguirle.","importData":"Importar datos","importDataDesc":"Conecte servicios externos para importar reseñas y otros datos.","foursquarePlaceId":"ID de lugar de Foursquare","foursquarePlaceholder":"p. ej. 4b7a1…","googlePlaceId":"ID de lugar de Google","googlePlaceholder":"p. ej. ChIJ…","widgetsTitle":"Widgets de reserva","widgetsDesc":"Active los widgets interactivos de reserva y lista de espera en su página pública.","widgets":{"reserveDesc":"Mostrar el widget de reservas para que los clientes puedan reservar mesa directamente desde su página pública.","waitlistDesc":"Mostrar el widget de lista de espera para que los clientes puedan anotarse cuando esté completo."},"servicesTitle":"Servicios","servicesDesc":"Marque los servicios que ofrece su restaurante — aparecen como iconos en su página pública.","services":{"reserve":"Reservas","waitlist":"Lista de espera","delivery":"Entrega a domicilio","takeout":"Para llevar","outdoor":"Terraza","wifi":"Wi-Fi gratis","kids":"Apto para niños","cash":"Solo efectivo","cards":"Acepta tarjetas","vegetarian":"Opciones vegetarianas","businesslunch":"Menú del día","entertainment":"Espectáculos","dresscode":"Código de vestimenta"},"widget":{"type":"Tipo de widget","typeDesc":"Elija el tipo de widget de reservas para su sitio web.","reservation":"Reserva","reservationDesc":"Permita a los clientes reservar mesa directamente desde su sitio web.","waitlist":"Lista de espera","waitlistDesc":"Permita a los clientes anotarse a la lista de espera a distancia.","delivery":"Entrega / Para llevar","deliveryDesc":"Acepte pedidos online a domicilio o para recoger.","settings":"Configuración del widget","settingsDesc":"Configure el diseño y el comportamiento del widget.","layout":"Diseño","layoutHorizontal":"Horizontal","layoutVertical":"Vertical","layoutAdaptive":"Adaptativo","layoutButton":"Solo botón","timeAp
1pearance":"Presentación de la hora","timeCalendar":"Formato calendario","timeHourly":"Selección por horas","timePeriods":"Franjas del día","timeHidden":"Oculta","preferredGuests":"Número de comensales preferido","adaptiveLayout":"Diseño adaptativo","adaptiveButtonDesc":"Estira el botón hasta ocupar todo el ancho de su contenedor.","advancedCustomization":"Personalización avanzada","colorScheme":"Esquema de color","schemeDark":"Oscuro","schemeLight":"Claro","language":"Idioma","guestRequired":"Selección de comensales obligatoria","guestRequiredDesc":"Los clientes deben indicar el número de personas antes de continuar.","dateRequired":"Selección de fecha obligatoria","dateRequiredDesc":"Los clientes deben elegir una fecha antes de continuar.","timeRequired":"Selección de hora obligatoria","timeRequiredDesc":"Los clientes deben elegir una franja horaria antes de continuar.","hideHeader":"Ocultar el encabezado","hideHeaderDesc":"Quitar el encabezado del widget con el nombre y el logotipo del restaurante.","multiRestaurants":"Varios restaurantes","multiRestaurantsDesc":"Los clientes pueden elegir entre varios de sus locales en un mismo widget.","selectRestaurants":"Seleccionar restaurantes","restaurantsSelected":"{count} restaurantes en el widget","inPlace":"En el sitio","inPlaceDesc":"Los clientes completan la reserva en su sitio web, sin abrir una página aparte.","waitTime":"Tiempo de espera","waitTimeDesc":"Mostrar a los clientes el tiempo de espera estimado actual.","embedStyle":"Modo de inserción","embedStyleDesc":"Elija cómo insertar el widget en su sitio web.","styleWidget":"Widget","styleButton":"Botón","styleLink":"Enlace","width":"Ancho","height":"Alto","buttonText":"Texto del botón","defaultButtonText":"Reservar mesa","linkText":"Texto del enlace","defaultLinkText":"Reservar mesa","defaultLinkTextWaitlist":"Anotarse a la cola","defaultLinkTextDelivery":"Pedir online","buttonColor":"Color del botón","preview":"Vista previa","embedCode":"Código de inserción","directLinks":"Enlaces directos","directLinksDesc":"Copie y pegue el enlace para redirigir desde su sitio web o sus redes sociales. Use etiquetas UTM para seguir las fuentes en la analítica de Hostme.","directLinksHint":"Use etiquetas UTM para seguir las fuentes de tráfico en la analítica de Hostme.","brandCallout":"¿Quiere cambiar el color de acento u ocultar el logotipo de Hostme?","brandCalloutLink":"Ir a la personalización de marca →","reservationLink":"Enlace directo a la página de reservas","waitlistLink":"Enlace directo a la página de lista de espera","waitlistKioskLink":"Enlace directo a la lista de espera (modo quiosco)","deliveryLink":"Enlace directo a la página de entrega / recogida"},"customization":{"brandColor":"Color de marca","brandColorDesc":"Elija un color principal para sus widgets de reserva y sus páginas de cara al cliente.","logoInWidgets":"Logotipo de Hostme","logoInWidgetsDesc":"Controle si el logotipo de Hostme aparece en sus widgets de reserva.","showLogo":"Mostrar el logotipo de Hostme","showLogoHint":"Mostrar el logotipo «Powered by Hostme» en los widgets de reserva y de lista de espera.","guestNote":"Nota de reserva para los clientes","guestNoteDesc":"Mensaje que se muestra a los clientes al hacer una reserva.","guestNotePlaceholder":"p. ej. Tenga en cuenta nuestra política de cancelación…","guestNoteHint":"Esta nota aparece en la página de confirmación de la reserva."},"partners":{"googleReserve":"Reservar con Google","googleReserveDesc":"Permita a los clientes reservar directamente desde la Búsqueda de Google y Maps.","googleWaitlist":"Lista de espera de Google","googleWaitlistDesc":"Permita a los clientes anotarse a su lista de espera desde la Búsqueda de Google y Maps.","hostmeNetwork":"Red Hostme","hostmeNetworkDesc":"Publique su restaurante en la red de reservas de Hostme y en la aplicación celular.","yandexEda":"Yandex Eats","yandexEdaDesc":"Conexión con el sistema de reservas de Yandex — su restaurante pasa a ser reservable online en todos los escaparates de Yandex: Eats, Maps, Búsqueda, Go y Alice AI. Se añade una comisión de Yandex de 79 ₽ por cada cliente que acude.","comingSoon":"Próximamente","saveError":"No se ha podido guardar — inténtelo de nuevo.","googleSyncNote":"Los cambios pueden tardar hasta 24 h en aplicarse — Google verifica antes su dirección, su teléfono y otros datos. Aquí no hay un estado en tiempo real.","googleDisableNote":"Las reservas de Google no se detienen al instante. Para de
1jar de aceptar reservas online ahora mismo, use {link}.","yandexConfigure":"Configurar credenciales","yandexDisconnectTitle":"¿Desconectar Yandex?","yandexDisconnectMessage":"Se eliminarán la integración de Yandex y sus credenciales. Podrá volver a conectarla más adelante, pero tendrá que introducir las credenciales de nuevo.","yandexDisconnectConfirm":"Desconectar","verificationRequired":"Verificación necesaria","verificationRequiredDesc":"Su restaurante debe estar verificado antes de poder activar las integraciones con redes asociadas. Contacte con soporte para la verificación.","howItWorks":"Cómo funciona","howItWorksDesc":"Las redes asociadas conectan su restaurante con las grandes plataformas. Al activarlas, los clientes pueden descubrir y reservar su restaurante directamente desde Google, la aplicación de Hostme y otros servicios. Los cambios se guardan automáticamente."}},"analytics":{"title":"Analítica","overview":"Resumen","reservations":"Reservas","noShows":"No-shows","waitlist":"Lista de espera","tables":"Mesas","guests":"Clientes","customRequest":"A medida","orders":"Pedidos"},"settings":{"title":"Configuración","restaurant":"Restaurante","interface":"Interfaz"},"integrations":{"title":"Integraciones","connected":"Conectadas","pos":"Sistemas TPV","payments":"Pagos","thirdParty":"Aplicaciones de terceros","channels":"Canales"},"administration":{"title":"Administración","restaurants":"Restaurantes","team":"Equipo","billing":"Facturación","activityLog":"Registro de actividad"}}
1'),S={timeFormat:"Formato de hora",timeFormatDesc:"Elija cómo se muestran las horas en todo el panel de administración — los selectores de hora, los horarios y los reportes se actualizarán automáticamente.",timeFormat12h:"12 horas",timeFormat24h:"24 horas",timeFormatExample24:"Ejemplo: 14:30, 09:00",timeFormatExample12:"Ejemplo: 2:30 PM, 9:00 AM",restaurant:{info:"Información del restaurante",infoDesc:"Información básica sobre su restaurante — nombre, datos de contacto y sitio web.",name:"Nombre del restaurante",phone:"Número de teléfono",website:"Sitio web",location:"Ubicación",locationDesc:"La dirección física y la zona horaria de su restaurante.",address:"Dirección",city:"Ciudad",state:"Provincia / Región",zip:"Código postal",country:"País",timezone:"Zona horaria",regional:"Configuración regionales",regionalDesc:"Configuración de idioma y moneda de su restaurante.",language:"Idioma predeterminado",languageHint:"Idioma usado en las comunicaciones con los clientes y en los widgets.",currency:"Moneda",currencyHint:"Moneda usada para depósitos, cargos, pedidos e reportes financieros."},interface:{workflowShortcuts:"Atajos de flujo de trabajo",workflowShortcutsDesc:"Agilice las acciones habituales saltándose pasos de confirmación y automatizando tareas repetitivas.",skipConfirmDialog:"Omitir los diálogos de confirmación",skipConfirmDialogDesc:"Evitar la pregunta «¿Está seguro?» al cambiar el estado de una reserva.",skipBookWizard:"Sentar rápido a clientes sin reserva",skipBookWizardDesc:"Siente en un solo toque a un cliente que llega sin reserva — sin escribir nombre ni teléfono.",skipGroupSizeStep:"Omitir el paso del tamaño del grupo",skipGroupSizeStepDesc:"Usar automáticamente un tamaño de grupo predeterminado en lugar de preguntarlo cada vez.",defaultGroupSize:"Tamaño de grupo predeterminado",autocloseSeated:"Cerrar automáticamente las reservas sentadas",autocloseSeatedDesc:"Cerrar automáticamente las reservas una vez sentados los clientes.",noteDisplay:"Notas que se muestran por defecto",noteDisplayDesc:"Elija qué tipo de notas aparece en las fichas de reserva de la vista principal.",noteType:"Tipo de nota que se muestra",noteSpecialRequests:"Peticiones especiales",noteInternalNotes:"Notas internas",noteGuestNotes:"Notas sobre el cliente",moduleVisibility:"Visibilidad de los módulos",moduleVisibilityDesc:"Oculte los paneles que no usa para simplificar la barra de navegación.",hideTablesPanel:"Ocultar el panel Mesas",hideWaitlistPanel:"Ocultar el panel Lista de espera",hideReservationPanel:"Ocultar el panel Reservas",hideTimelinePanel:"Ocultar el panel Cronología",hideServersPanel:"Ocultar el panel Gestión de meseros",hideGuestbookPanel:"Ocultar el panel Libro de clientes",chatSupport:"Soporte",chatSupportDesc:"Configure la disponibilidad del chat de soporte en la aplicación.",disableChatSupport:"Desactivar el chat de soporte",disableChatSupportDesc:"Ocultar el widget del chat de soporte para todos los usuarios excepto el propietario.",onboarding:"Lista «Primeros pasos»",onboardingDesc:"Muestre u oculte el bloque y la ventana de la guía de inicio en el panel.",onboardingShow:"Mostrar en el panel",onboardingShowDesc:"Al activarlo, aparece un bloque «Primeros pasos» en el panel hasta completar todos los pasos de configuración.",onboardingSaveError:"No se ha podido actualizar su preferencia. Inténtelo de nuevo.",hostPanelVersionTitle:"Versión del Host Panel",hostPanelVersionSectionDesc:"Elija qué versión del panel operativo de anfitrión usa su equipo.",hostPanelRestaurantVersion:"Versión del restaurante",hostPanelRestaurantVersionDesc:"La opción predeterminada para todo el personal y todos los dispositivos de este restaurante.",hostPanelThisDevice:"Solo este dispositivo",hostPanelThisDeviceDesc:"Pruebe otra versión en su dispositivo sin sacar al resto del equipo de la versión del restaurante — por ejemplo, un encargado que quiere ver la v2.",overrideActive:"Este dispositivo no sigue la versión del restaurante.",followRestaurantDefault:"Seguir la versión del restaurante",versionModalTitle:"¿Cambiar la versión del Host Panel del restaurante?",versionModalBody:"Cambiar el restaurante a la versión {version} afecta a todo el personal y a todos los dispositivos de este restaurante. Las notificaciones push y los enlaces de los correos anotarán a la versión elegida del panel.",versionModalDeviceHint:"Un dispositivo concreto puede seguir cambiando la versión solo para sí mismo con «Solo este dispositivo» — eso no afecta a nadie más.",versionModalConfirm:"Cambiar de versión",guestAppVersion:"Aplicación de clientes",guestAppVersionDesc:"La experiencia de cara al cliente (Restogram).",widgetVersion:"Widget de reservas",widgetVersionDesc:"El widget de reservas insertable.",versionComingSoon:"Próximamente",adminVersionTitle:"Panel clásico",adminVersionSectionDesc:"Tu restaurante llegó aquí desde la ver
1sión anterior del panel de administración. Si lo necesitas durante un tiempo, puedes volver a él: el panel antiguo sigue disponible hasta fin de año.",adminVersionThisDevice:"Solo este dispositivo",adminVersionThisDeviceDesc:"El resto de tu equipo se queda en el panel nuevo. Cuando vuelvas a abrir el panel nuevo, este dispositivo también volverá a él.",adminVersionSwitchAction:"Abrir el panel clásico",adminVersionDirectLink:"Enlace directo: {link}",adminVersionModalTitle:"¿Volver al panel clásico?",adminVersionModalBody:"Mientras trabajes allí, los enlaces del Host Panel en este dispositivo también abrirán el panel clásico.",adminVersionModalConfirm:"Ir al panel clásico",adminVersionModalHint:"Solo cambia este dispositivo y solo hasta que vuelvas a abrir el panel nuevo; después, todo vuelve a llevar aquí.",panelPrefsV2:"Preferencias del panel (v2)",panelPrefsV2Desc:"Configuración del panel de anfitrión comunes al restaurante, introducidos en la versión 2.",panelPrefsV2Placeholder:"Los configuración del panel de anfitrión de la ver
1sión 2 aparecerán aquí cuando pasen del panel a la administración."}},P=JSON.parse('{"floorPlans":{"title":"Planos de sala","description":"Gestione los planos de sala de su restaurante. Cada plano representa un espacio físico con sus mesas y secciones.","noFloors":"Todavía no hay planos de sala","noFloorsHint":"Cree su primer plano de sala para empezar a colocar mesas.","addFloor":"Añadir plano de sala","editFloor":"Renombrar plano de sala","openBuilder":"Abrir en el editor","floorName":"Nombre de la sala","floorNamePlaceholder":"Sala principal","tablesCount":"{count} mesas","tablesOnlineSuffix":"{online} online","coversCount":"{count} comensales","online":"Activado","offline":"Desactivado","areas":"Zonas","areasTitle":"Zonas de sala","areasDescription":"Defina zonas de sala (Terraza, Barra, Jardín…) a las que luego podrá asignar mesas en el editor de planos. Los recuentos se suman en todas las plantas.","areasRenameHint":"Al renombrar una zona se conservan todas las asignaciones de mesas: el nuevo nombre se aplica automáticamente en todos los planos de sala, horarios y reservas abiertas.","noAreas":"No hay zonas definidas","addArea":"Añadir zona","editArea":"Renombrar zona","deleteArea":"Eliminar zona","areaDuplicate":"Ya existe una zona con ese nombre.","areaSaveError":"No se ha podido guardar la zona. Inténtelo de nuevo.","areaDeleteError":"No se ha podido eliminar la zona. Inténtelo de nuevo.","areaServerError":"El servidor no ha podido completar la operación. Inténtelo más tarde o contacte con soporte.","floorDuplicate":"Ya existe un plano de sala con ese nombre.","floorSaveError":"No se ha podido guardar el plano de sala. Inténtelo de nuevo.","floorDeleteError":"No se ha podido eliminar el plano de sala. Inténtelo de nuevo.","floorForbidden":"No tiene permisos para modificar los planos de sala de este restaurante.","floorServerError":"El servidor no ha podido completar la operación. Inténtelo más tarde o contacte con soporte.","areaConfirmDelete":"¿Eliminar la zona «{name}»? Sus {tables} mesa(s) quedarán sin zona en todos los planos de sala, y la zona desaparecerá de las reglas de aprobación de reservas.","areaName":"Nombre de la zona","areaNamePlaceholder":"Terraza","deleteFloor":"Eliminar plano de sala","floorConfirmDelete":"¿Eliminar el plano de sala «{name}»? Se perderán todas las mesas y la disposición guardada. Esta acción no se puede deshacer.","activateConflictTitle":"Números de mesa en uso","activateConflictMsg":"{floors} ya usa la mesa {numbers}. Los números deben ser únicos entre las plantas activas — activar «{target}» desactivará {floors}.","activateSwap":"Desactivar y activar","deleteFloorConfirm":"¿Está seguro? Se eliminarán el plano de sala y todas sus mesas.","create":"Crear","areaColor":"Color de la zona","floorDeleteBooked":"Mesa {tables} — reservas activas: {count}. Al eliminar el plano se quedan sin mesa. | Mesas con reservas activas: {tables} ({count} en total). Al eliminar el plano se quedan sin mesa.","checkingBookings":"Verificando las reservas…","offlineWithBookingsTitle":"Hay reservas en este plano","offlineWithBookingsBody":"Si desactiva «{name}», sus mesas dejan de estar en servicio y estas reservas se quedan sin mesa. Puede volver a activarlo cuando quiera.","offlineWithBookingsConfirm":"Desactivar de todos modos"},"tableRules":{"title":"Reglas de mesas","description":"Configure las reglas de combinación de mesas, que determinan cómo se pueden unir para grupos grandes.","combinationsTitle":"Combinaciones de mesas","combinationsDesc":"Defina qué mesas se pueden combinar y la capacidad resultante.","noCombinations":"No hay combinaciones de mesas definidas","noCombinationsHint":"Las combinaciones permiten unir mesas contiguas para grupos grandes.","onlyPreset":"Solo combinaciones predefinidas","onlyPresetHint":"Al activarlo, solo se permiten las combinaciones definidas abajo. Si no, se pueden combinar cualesquiera mesas contiguas.","addCombination":"Añadir combinación","tables":"Mesas","minCovers":"Comensales mín.","maxCovers":"Comensales máx.","removeCombination":"Quitar","turnaroundTitle":"Duración por tamaño de grupo","turnaroundDesc":"Cuánto tiempo ocupa una reserva la mesa, según el tamaño del grupo. Los grupos grandes suelen quedarse más. Se aplica la primera regla que coincida.","turnoverByGroup":"Duración por tamaño de grupo","turnoverByGroupHint":"Cuánto tiempo ocupa una reserva la mesa, según el tamaño del grupo. Los grupos grandes suelen quedarse más. Se aplica la primera regla que coincida.","holdTime":"Tiempo de bloqueo por tamaño de grupo","holdTimeHint":"Cuánto tiempo se mantiene una mesa asignada en estado «Reserva próxima» antes de que empiece la reserva, según el tamaño del grupo. Se aplica la primera regla que coincida.","holdMinutes":"Bloqueo (minutos)","partySize":"Tamaño del grupo","duration":"Duración","addRow":"Añadir regla","seatingPolicy":"Política de asignación de mesas","seatingPolicyDesc":"Reglas que rigen dónde se sienta a los clientes — reservas, clientes sin reserva y lista de espera por igual.","autoTableAssignment":"Asignar mesas automáticamente a las reservas nuevas","autoTableAssignmentHint":"Al crear una reserva o sentar a un cliente sin reserva, el sistema propone la mesa que mejor encaja según el tamaño del grupo y la disponibilidad. El anfitrión siempre puede cambiarla. Se aplica a reservas y a clientes sin reserva.","autoTableAssignmentWaitlistNote":"La lista de espera tiene su propio interruptor de asignación automática:","autoTableAssignmentWaitlistLink":"abrir los configuración de la lista de espera →","seatingPolicyConflict":"La asignación automática y sentar sin mesa no pueden estar activados a la vez — si se puede sentar a un cliente sin mesa, el sistema no tiene nada que asignar. Activar uno desactiva el otro.","seatWithoutTable":"Permitir sentar sin mesa","seatWithoutTableHint":"Se puede sentar a los clientes aunque no haya una mesa asignada (útil para la barra o para pasadas rápidas sin reserva).","trackCreators":"Registrar quién crea y edita","trackCreatorsHint":"Con «Opcional» u «Obligatorio», el sistema guarda el historial de quién creó o editó cada grupo. La información se muestra en la ficha del grupo.","trackCreatorsOff":"Desactivado","trackCreatorsOptional":"Opcional","trackCreatorsRequired":"Obligatorio","serverRotation":"Rotación de meseros","serverRotationDesc":"Controle cómo se asignan los meseros a los grupos nuevos. La rotación automática reparte los servicios de forma equilibrada.","serverRotationFutureNote":"La lista de meseros y la asignación de rangos se configurarán en un apartado propio de gestión de meseros (próximamente).","manualServerAssignment":"Solo asignación manual de meseros","manualServerAssignmentHint":"Desactivar la rotación automática para que el anfitrión elija manualmente un mesero para cada grupo.","rotationRule":"Estrategia de rotación","rotationLastSeated":"Por hora del último servicio","rotationLastSeatedHint":"Meseros cuyo último grupo sentado en su rango es el más antiguo.","rotationLowestParties":"Por menor número de grupos","rotationLowestPartiesHint":"Meseros con menos grupos sentados ese día.","rotationLowestTables":"Por menor número de mesas","rotationLowestTablesHint":"Meseros con menos mesas asignadas ese día.","rotationLowestGuests":"Por menor número de clientes en ese momento","rotationLowestGuestsHint":"Meseros que tienen ahora mismo menos clientes sentados.","rotationAlphabetical":"Orden alfabético","rotationAlphabeticalHint":"Los meseros se eligen por orden alfabético.","noServerSections":"Desactivar los rangos de meseros","noServerSectionsHint":"Tratar toda la sala como una única zona — sin asignación de meseros por rango.","tableStatusWorkflow":"Flujo de estados de mesa","tableStatusWorkflowDesc":"Ajuste con detalle cómo se 
1comportan los estados de mesa durante el servicio.","groupSizeValidation":"Validar el tamaño del grupo","groupSizeValidationHint":"Evitar que se siente a un grupo en una mesa que no encaja con su tamaño.","syncByCourse":"Sincronizar el estado por platos","syncByCourseHint":"Avanzar automáticamente el estado de la mesa a medida que se sirve cada plato.","dontSyncStates":"No sincronizar los estados de mesa","dontSyncStatesHint":"Los estados de mesa son independientes — el personal los actualiza manualmente."},"availability":{"title":"Horario de disponibilidad","description":"Defina las horas en que su restaurante acepta reservas. Puede configurar horarios distintos para cada día de la semana.","operatingHoursTitle":"Horario de apertura","operatingHoursDesc":"Cuándo está el restaurante abierto físicamente. Sirve de límite superior para las franjas de reserva online, los clientes sin reserva y el widget público.","scheduleTitle":"Horario de reservas online","scheduleDesc":"Cuándo pueden reservar online los clientes (widget, Google Reserve). Suele ser más reducido que el horario de apertura.","closuresTitle":"Excepciones de reservas online","closuresDesc":"Fechas en las que las reservas online se aceptan en otro horario — o no se aceptan. Feriados, eventos privados, días cortos. El horario de apertura no cambia: el anfitrión puede seguir sentando clientes y reservando a mano.","noClosures":"Sin excepciones","addClosure":"Agregar excepción","removeClosure":"Eliminar","outdatedBadge":"Caducada","repeatYearly":"Repetir cada año","restrictionTimeSlots":"Intervalos de reserva","restrictionAddTimeSlot":"Agregar intervalo","restrictionAllDay":"No se aceptan reservas en todo el día","dayPlaceholder":"DD","closed":"Cerrado","notBookable":"Sin reservas","addInterval":"Añadir franja","removeInterval":"Quitar","applyToAll":"Aplicar a todos los días","applyToAllShort":"Aplicar a todos","applyToAllHint":"Copiar estos intervalos a todos los días de la semana","slots":{"title":"Franjas de reserva","manage":"Elegir qué franjas pueden reservar los clientes","hint":"Desactive las franjas que no quiera ofrecer para reserva online.","summaryAll":"Las {n} franjas están disponibles","summarySome":"{n} de {total} disponibles","enableAll":"Activar todas","loading":"Cargando franjas…","error":"No se han podido cargar las franjas.","retry":"Reintentar","empty":"No hay franjas para este día."},"exceptionsTitle":"Periodos especiales","exceptionsDesc":"Sustituya el horario habitual en festivos, eventos especiales o cambios de temporada.","noExceptions":"No hay periodos especiales definidos","addException":"Añadir periodo especial","exceptionName":"Nombre del periodo","exceptionNamePlaceholder":"Horario de festivos","dateRange":"Rango de fechas","from":"Desde","to":"Hasta","removeException":"Quitar","dayNames":{"0":"Domingo","1":"Lunes","2":"Martes","3":"Miércoles","4":"Jueves","5":"Viernes","6":"Sábado"}},"coverPacing":{"title":"Cadencia","slotSize":"Tamaño de la franja","slotSizeHint":"El intervalo entre las horas que elige el cliente: 15 minutos significa 12:00, 12:15, 12:30. Todos los límites de abajo se cuentan por franja.","slotSizeMinutes":"{value} minutos","maxCoversPerSlot":"Máx. de comensales por franja","maxCoversPerSlotHint":"Cuántas personas pueden llegar a la misma hora. Cuando se agota el límite, al cliente se le ofrece una hora posterior.","maxReservationsPerSlot":"Máx. de reservas por franja","maxReservationsPerSlotHint":"Número máximo de reservas independientes permitidas por franja.","hardMaxReservations":"Máximo estricto de reservas","hardMaxReservationsHint":"Límite absoluto, que incluye las reservas creadas por el equipo.","hostLimits":"Límites de reserva del equipo","hostLimitsDesc":"Defina límites adicionales para las reservas que crea el anfitrión o el personal.","totalCoversOnline":"Comensales online a la misma hora","totalCoversOnlineHint":"Qué parte de la sala se destina a las reservas online — su web, el widget y Google. Cuenta a todos los que están sentados en ese momento, incluidos los que llegaron antes. El resto queda para el anfitrión y los clientes sin reserva.","totalCoversHost":"Comensales del anfitrión a la misma hora","totalCoversHostHint":"Lo mismo para las reservas que crea el anfitrión. Las reservas que llegan por integraciones de TPV no cuentan en ninguno de estos dos límites.","seatingOptimization":"Optimización del reparto de mesas","seatingOptimizationDesc":"Deje que el sistema optimice la asignación de mesas para aprovechar mejor la sala.","optimizeForHost":"Optimizar el reparto para el anfitrión","optimizeForHostHint":"El sistema sugiere las mesas óptimas para las reservas creadas por el anfitrión.","optimizeForGuest":"Optimizar el reparto para los clientes","optimizeForGuestHint":"El sistema elige las mesas óptimas para las reservas online.","unlimited":"Ilimitado","exceptionsTitle":"Excepciones por día","exceptionsDesc":"Reglas especiales para días concretos — por ejemplo, no sentar más de ocho comensales por franja los viernes. Sustituye a «Máx. de comensales por franja».","noExceptions":"No hay excepciones definidas","addException":"Añadir excepción","dayOfWeek":"Día","maxCovers":"Máx. de comensales","removeException":"Quitar","pacingTitle":"A qué ritmo entran los clientes","pacingDesc":"Suaviza el flujo en la puerta para que la cocina y el anfitrión no reciban a todo el mund
1o a la vez.","maxBookingsPerSlot":"Máx. de reservas por franja","maxBookingsPerSlotHint":"Cuántos grupos distintos acepta a la misma hora. Tres reservas de dos son solo seis comensales, pero tres servicios. La web deja de ofrecer una hora completa; el anfitrión aún puede añadir una reserva manualmente.","hardLimitsTitle":"Límites que no se pueden superar","hardLimitsDesc":"Seguro contra la saturación: por encima de estos valores la reserva no se guarda, ni siquiera introduciéndola a mano.","hardMaxCoversPerSlot":"Límite estricto de comensales por franja","hardMaxCoversPerSlotHint":"Por encima de este número el anfitrión no puede sentar comensales a la misma hora, ni siquiera manualmente. No afecta a las reservas online — para ellas rige el límite normal de arriba.","hardMaxBookingsPerSlot":"Límite estricto de reservas por franja","hardMaxBookingsPerSlotHint":"Por encima de este número la reserva no se guarda, ni siquiera manualmente. Póngalo por encima del límite normal — la diferencia entre ambos es el margen del que dispone el anfitrión.","hardBelowSoftWarn":"El límite estricto está por debajo del normal — el anfitrión se queda sin margen.","channelQuotasTitle":"Qué parte de la sala recibe cada canal","channelQuotasDesc":"Limite cuántos comensales están sentados a la vez procedentes de reservas online y de reservas creadas por el anfitrión.","exceptionWhen":"Cuándo se aplica","allDaysUsed":"Todos los días de la semana ya tienen una excepción","exceptionNoWindow":"No hay ningún intervalo definido — esta regla nunca se aplicará. Añada uno."},"blockedTables":{"title":"Mesas bloqueadas","description":"Bloquee mesas concretas durante determinados periodos. Las mesas bloqueadas no están disponibles ni para reservas ni para clientes sin reserva.","pinProtection":"Protección con PIN","pinProtectionDesc":"Exija un PIN para desbloquear mesas y evitar cambios no autorizados.","requirePin":"Exigir PIN para desbloquear","pinCode":"Código PIN","pinPlaceholder":"Introduzca un PIN de 4 dígitos","pinRequired":"Introduzca un PIN para activar la protección.","periodsTitle":"Periodos de bloqueo","periodsDesc":"Defina los intervalos en que ciertas mesas deben estar bloqueadas.","noPeriods":"No hay periodos de bloqueo definidos","noPeriodsHint":"Añada un periodo de bloqueo para reservar mesas por eventos o mantenimiento.","addPeriod":"Añadir periodo de bloqueo","tables":"Mesas","allTables":"Todas las mesas","from":"Desde","to":"Hasta","selectTables":"Seleccionar mesas","tablesSelected":"{count} mesas seleccionadas","allDay":"Todo el día","timeSlots":"Franjas horarias","addTimeSlot":"Añadir franja","removePeriod":"Quitar","outdatedBadge":"Caducado"},"tablesPicker":{"allTables":"Todas las mesas","allTablesHint":"Déjelo vacío para aplicarlo a todas las mesas.","selectTables":"Seleccionar mesas…","oneSelected":"1 mesa seleccionada","nSelected":"{count} mesas seleccionadas","searchPlaceholder":"Buscar una mesa…","selectAll":"Seleccionar todas","clear":"Vaciar","noMatches":"Ninguna mesa coincide con su búsqueda","noTables":"No hay mesas disponibles. Cree primero mesas en el plano de sala.","unknownGroup":"Seleccionada, pero ya no está en el plano de sala","unknownHint":"Esta mesa se seleccionó antes, pero no aparece en el plano de sala actual. Haga clic para quitarla.","offlineHint":"Esta mesa está en una planta desactivada.","groupBy":"Agrupar por:","byArea":"Zona","byFloor":"Planta"},"activeReservations":{"table":"Mesa {n}","count":"reservas activas: {count}","guestsHeading":"Clientes con reserva","noName":"Sin nombre","noTime":"Sin reserva","party":"comensales: {count}","andMore":"y {count} más"}}'),T=JSON.parse('{"menuBuilder":{"title":"Cartas","description":"Cree y gestione las cartas de su restaurante con sus secciones y productos.","noMenus":"Todavía no hay cartas","noMenusHint":"Cree su primera carta para empezar.","addMenu":"Añadir carta","menuName":"Nombre de la carta","menuNamePlaceholder":"p. ej. Carta del mediodía","active":"Activa","inactive":"Inactiva","products":"{count} productos","sections":"Secciones","menuContent":"Contenido de la carta","menuContentDesc":"Las secciones y productos que componen esta carta. Haga clic en el nombre de una sección para renombrarla.","noSections":"No hay secciones en esta carta","addSection":"Añadir sección","newSectionName":"Sección nueva","deleteSection":"Eliminar sección","deleteSectionConfirm":"¿Eliminar la sección «{name}» y todos sus productos de esta carta?","deleteMenu":"Eliminar carta","deleteMenuConfirm":"¿Eliminar la carta «{name}»? Esta acción no se puede deshacer.","unsavedSwitchMessage":"Esta carta tiene cambios sin guardar. ¿Continuar sin guardar?","unsavedSwitchConfirm":"Continuar sin guardar","menuDetails":"Detalles de la carta","menuDetailsDesc":"Edite el nombre de la carta y su disponibilidad.","sectionsDesc":"Consulte y gestione las secciones de esta carta.","noProducts":"No hay productos en esta sección","addProduct":"Añadir producto","addProductHint":"Elija un producto para añadirlo a esta sección.","removeProduct":"Quitar de la sección","noMatchingProducts":"No hay productos que coincidan.","allProductsAdded":"Todos los productos ya están en esta sección.","modifiersToggle":"Interruptores de modificadores","modifiersToggleDescription":"Active o desactive los modificadores de esta carta."},"products":{"title":"Productos","description":"Gestione todos los productos de todas sus cartas.","searchPlaceholder":"Buscar productos…","allCategories":"Todas las categorías","noProducts":"No se han encontrado productos","noProductsHint":"Los productos aparecerán aquí una vez añadidos a categorías.","loadMore":"Cargar más","showingCount":"Mostrando {shown} de {total}","loadError":"No se han podido cargar los productos.","modifiers":"Modificadores","addModifier":"Añadir modificador","removeModifier":"Quitar el modificador {name}","viaCategory":"vía categoría","modifierViaCategoryHint":"Se aplica a toda la categoría — gestiónelo en la pestaña Modificadores.","noModifiers":"No hay modificadores asociados.","available":"Disponible","unavailable":"No disponible","editProduct":"Editar producto","deleteProduct":"Eliminar producto","deleteProductConfirm":"¿Eliminar el producto «{name}»? Esta acción no se puede deshacer.","newProduct":"Producto nuevo","newProductName":"Producto nuevo","createNeedsCategory":"Cree al menos una categoría antes de añadir productos.","name":"Nombre","productDescription":"Descripción","price":"Precio","pickupPrice"
1:"Precio para recoger","deliveryPrice":"Precio a domicilio","taxRate":"Tipo impositivo","pickupTaxRate":"Impuesto para recoger","deliveryTaxRate":"Impuesto a domicilio","pricesAndTaxes":"Precios e impuestos","pricesAndTaxesHint":"Si los valores opcionales de recogida o entrega quedan vacíos, se usan el precio y el impuesto base.","image":"Imagen","uploadImage":"Subir imagen","changeImage":"Cambiar imagen","removeImage":"Quitar imagen","requiredFieldHint":"Los campos marcados con * son obligatorios.","category":"Categoría","createNewCategory":"+ Crear categoría nueva…","newCategoryPlaceholder":"Nombre de la categoría","createCategory":"Crear","noCategory":"Sin categoría","availability":"Disponible","pickup":"Para recoger","delivery":"A domicilio"},"categories":{"title":"Categorías","description":"Grupos de productos para organizar los artículos de su carta.","newCategory":"Categoría nueva","newCategoryName":"Categoría nueva","deleteCategory":"Eliminar categoría","deleteCategoryConfirm":"¿Eliminar la categoría «{name}»? Esta acción no se puede deshacer.","deleteCategoryWithProductsConfirm":"¿Eliminar la categoría «{name}»? {count} producto(s) de esta categoría quedarán sin categoría.","markActive":"Marcar como activa","markInactive":"Marcar como inactiva","noCategories":"No se han encontrado categorías","noCategoriesHint":"Haga clic en «Categoría nueva» para crear una.","active":"Activa","inactive":"Inactiva","totalProducts":"{count} productos","activeProducts":"{count} activos","productCount":"{count} productos, {active} activos","noProducts":"No hay productos en esta categoría","manageCategories":"Gestionar categorías","manageCategoriesDescription":"Cree, renombre, active o elimine las categorías con las que organiza sus productos.","backToList":"Volver a la lista","selectCategory":"Seleccionar categoría","editCategory":"Editar categoría","categoryName":"Nombre de la categoría","productsInsideHint":"Productos actualmente en esta categoría: {count}."},"modifiers":{"title":"Modificadores","description":"Gestione los modificadores y sus opciones. Los modificadores se pueden asociar a productos para permitir su personalización.","noModifiers":"Todavía no hay modificadores","noModifiersHint":"Cree modificadores para añadir opciones de personalización a sus productos.","addModifier":"Añadir modificador","newModifier":"Modificador nuevo","modifierName":"Nombre del modificador","modifierNamePlaceholder":"p. ej. Opciones de salsa","editModifier":"Editar modificador","displayName":"Nombre visible","active":"Activo","inactive":"Inactivo","type":"Tipo","typeNote":"Nota","typeOptions":"Opciones","typeNoteHint":"Texto libre que se muestra en el widget de pedidos; sin opciones seleccionables.","typeOptionsHint":"Lista de opciones seleccionables (sabores, tamaños, extras).","summaryNote":"Nota","summaryOptions":"{count} opciones","selectionMode":"Modo de selección","singleSelect":"Única (botones de opción)","singleSelectHint":"El cliente elige exactamente una opción.","multiSelect":"Múltiple (casillas)","multiSelectHint":"El cliente puede elegir varias opciones.","minSelections":"Selecciones mín.","maxSelections":"Selecciones máx.","unlimited":"Sin límite","selectionLimitsHint":"Limite cuántas opciones debe o puede elegir el cliente.","linkedProducts":"{count} productos asociados","linkedProductsTitle":"Productos asociados","linkedProductsHint":"Productos en los que aparecerá este modificador en el widget de pedidos.","linkProducts":"Asociar productos","noLinkedProducts":"Todavía no hay productos asociados.","linkProductsModalTitle":"Asociar productos","searchProducts":"Buscar productos…","selectAll":"Seleccionar todos","selectNone":"Vaciar","selectedCount":"{count} seleccionados","deleteModifier":"Eliminar modificador","deleteModifierConfirm":"¿Eliminar el modificador «{name}»? También se quitará de todos los productos asociados.","options":"Opciones","addOption":"Añadir opción","optionName":"Nombre de la opción","optionNamePlaceholder":"p. ej. Leche de soja","optionDescription":"Descripción (opcional)","optionPrice"
1:"Precio","optionTaxRate":"Tipo impositivo (opcional)","default":"Por defecto","defaultHint":"Preseleccionada cuando el cliente abre el modificador.","noOptions":"Todavía no hay opciones — añada la primera.","deleteOption":"Eliminar opción","deleteOptionConfirm":"¿Eliminar esta opción?"},"settings":{"noMenu":"— Ninguna —","min":"min","cutoffDisabled":"Desactivada","cutoffHint":"Pasada esta hora no se aceptan pedidos online para el mismo día. Déjelo desactivado para aceptarlos hasta el cierre.","maxOrdersHint":"Cuántos pedidos online se pueden aceptar en una misma franja horaria.","maxOrdersZeroWarning":"Con 0 no se aceptan pedidos online — el widget mostrará que no se puede pedir. Ponga un límite mayor que 0.","delivery":{"title":"Entrega a domicilio","description":"Configure los pedidos a domicilio: horario, carta, tarifas y restricciones.","enabled":"Activar los pedidos a domicilio","scheduleForLater":"Permitir pedidos programados","useOpenHours":"Usar el horario de apertura del restaurante","menu":"Carta de domicilio","minimumNotice":"Antelación mínima","maxDaysToOrder":"Máx. de días de antelación","maxOrdersPerSlot":"Máx. de pedidos / franja","cutoffTime":"Hora de cierre","guestNote":"Nota para los clientes","distanceFeeRules":"Tarifas por distancia","distance":"Distancia","fee":"Tarifa","minOrder":"Pedido mín.","noDistanceFeeRules":"No hay tarifas por distancia configuradas.","discountRules":"Reglas de descuento","orderAmount":"Importe del pedido","discount":"Descuento","noDiscountRules":"No hay reglas de descuento configuradas."},"takeaway":{"title":"Para recoger","description":"Configure las opciones de los pedidos para recoger.","enabled":"Activar los pedidos para recoger","scheduleForLater":"Permitir pedidos programados","useOpenHours":"Usar el horario de apertura del restaurante","menu":"Carta para recoger","minimumNotice":"Antelación mínima","maxDaysToOrder":"Máx. de días de antelación","maxOrdersPerSlot":"Máx. de pedidos / franja","cutoffTime":"Hora de cierre","guestNote":"Nota para los clientes"},"preorder":{"title":"Pedido anticipado","description":"Permita a los clientes pedir sus platos antes de llegar.","enabled":"Activar los pedidos anticipados","menu":"Carta de pedidos anticipados","minOrder":"Importe mínimo del pedido"},"digital":{"title":"Carta digital","description":"Configure una carta digital accesible por código QR o enlace.","enabled":"Activar la carta digital","menu":"Carta digital"},"tips":{"title":"Propinas","description":"Configure las opciones de propina para los pedidos online.","enabled":"Activar las propinas","options":"Opciones de propina"},"taxes":{"title":"Impuestos","description":"Configuración de IVA e impuestos para los pedidos online.","includeVAT":"Incluir el IVA en los precios"},"additional":{"title":"Opciones de peticiones especiales","description":"Opciones adicionales que los clientes pueden pedir con su pedido.","contactless":"Entrega sin contacto","dontDisturb":"No molestar","needCardReader":"Necesita datáfono"},"statuses":{"title":"Estados de los pedidos","description":"Gestione los estados del flujo de procesamiento de pedidos. Los estados estándar no se pueden eliminar.","grandeUpgrade":"Añadir estados nuevos y eliminar los personalizados está disponible en el plan Grande. Aun así, puede editar el color, la aplicabilidad, el orden y el estado activo de los estados existentes de abajo.","addStatus":"Añadir estado personalizado","colDelivery":"A domicilio","colPickup":"Para recoger","applyDelivery":"Se aplica a los envíos a domicilio","applyPickup":"Se aplica a los pedidos para recoger","system":{"kitchen":"En preparación","ready":"Listo","inroute":"En reparto"}}}}'),A={title:"Elegir icono",searchPlaceholder:"Buscar iconos…",catAll:"Todos",catFood:"Comida y bebida",catPeople:"Personas",catSeating:"Asientos",catCommunication:"Comunicación",catStatus:"Estado",catObjects:"Objetos",catTravel:"Viajes",catTechnology:"Tecnología",catFinance:"Finanzas",catNature:"Naturaleza",catMood:"Ánimo",catTime:"Tiempo",catEntertainment:"Ocio",catMusic:"Música",catGeneral:"General",noResults:"No se han encontrado iconos"},E={restaurants:{list:"Sus restaurantes",listDesc:"Restaurantes a los que tiene acceso. Cambie entre ellos o elimine los que ya no necesite.",current:"Actual",switchTo:"Cambiar",remove:"Eliminar",removeTitle:"Eliminar restaurante",removeDesc:"Está a punto de eliminar «{name}» de forma permanente. Esta acción no se puede deshacer — se perderán todas las reservas, los configuración y los datos de facturación.",removeConfirm:"Eliminar restaurante",removeReason:"Motivo de la eliminación",removeReasonPlaceholder:"Explique por qué quiere eliminar este restaurante…",empty:"Todavía no tiene acceso a ningún restaurante.",addNew:"Añadir",addNewTitle:"Añadir un restaurante nuevo",addNewDesc:"Cree otro local en su cuenta. Será automáticamente su propietario.",addNewSubmit:"Crear restaurante",subscriptionWarning:"Un local, una suscripción. Añadir un restaurante nuevo crea una suscripción aparte y puede afectar a su facturación.",iUnderstand:"Entiendo que se creará una suscripción nueva para este restaurante.",verified:"Verificado",suspended:"Suspendido",suspendedDesc:"Este restaurante está suspendido por un problema de facturación.",offline:"Oculto",offlineDesc:"Este restaurante está oculto en los canales públicos de reserva."},team:{members:"Miembros del equipo",membersDesc:"Personas con acceso al panel de este restaurante.",name:"Nombre",email:"Correo",role:"Rol",actions:"Acciones",noMembers:"No se han encontrado miembros del equipo.",removeUser:"Quitar",removeTitle:"Quitar miembro del equipo",removeDesc:"Está a punto de quitar a «{name}» del equipo. Perderá el acceso al panel de este restaurante.",removeConfirm:"Quitar usuario",changeRole:"Cambiar rol",changeRoleTitle:"Cambiar rol",changeRoleDesc:"Actualice el rol de {name}. Los nuevos permisos se aplican de inmediato — no hace falta volver a invitar.",currentRole:"Rol actual",newRole:"Rol nuevo",inviteTitle:"Invitar a un miembro del equipo",inviteDesc:"Envíe una invitación para unirse al equipo de este restaurante.",emailPlaceholder:"companero{'@'}
1ejemplo.com",invite:"Invitar",sendInvite:"Enviar invitación",sendShort:"Enviar",pendingInvitations:"Invitaciones pendientes",pendingDesc:"Invitaciones enviadas pero aún no aceptadas.",pending:"Pendiente",noPending:"No hay invitaciones pendientes.",resend:"Reenviar",cancelInvite:"Cancelar"},billing:{currentPlan:"Plan actual",currentPlanDesc:"Su suscripción activa y sus datos de facturación.",renewsOn:"Se renueva el {date}",nextBilling:"Próximo cobro",endedOn:"Finalizó el",startedOn:"Comenzó el",includes:"Incluye",eventsUsage:"Eventos de este periodo",eventsRemaining:"{count} restantes",eventsOverage:"Cada evento adicional se cobra aparte",eventsOverageDetail:"{overage} por encima de la cuota · aprox. {estimated} en la próxima factura",eventsOveragePerEvent:"Los eventos adicionales se cobran a {price} cada uno",trialPeriodHeader:"Periodo de prueba",trialDaysCounter:"Quedan {remaining} de {total} días",trialEndsToday:"La prueba termina hoy",paymentStatusHeader:"Estado del pago",paymentFailedMessage:"El último pago ha fallado — actualice su tarjeta para evitar la suspensión",changePlan:"Cambiar de plan",choosePlan:"Elegir un plan",plansModalTitle:"Elegir un plan",plansModalDesc:"Seleccione el plan que se ajuste a las necesidades de su restaurante.",noPlans:"Ahora mismo no hay planes disponibles.",noPlansForInterval:"No hay planes disponibles para este periodo de facturación.",switchToPlan:"Cambiar a este plan",upgrade:"Mejorar",downgrade:"Reducir",intervalTab:{day:"Diario",week:"Semanal",month:"Mensual",year:"Anual"},pricePeriod:{day:"día",week:"semana",month:"mes",year:"año"},priceNote:{billedAnnually:"facturación anual",billedMonthly:"facturación mensual"},parties:"grupos",partiesUnlimited:"Ilimitado",scrollToPlan:"Ir al plan {n}",subStatus:{active:"Activa",trialing:"Prueba",past_due:"Pago vencido",canceled:"Cancelada",incomplete:"Incompleta",incomplete_expired:"Caducada",inactive:"Pendiente de activación",unpaid:"Impagada",paused:"En pausa"},cancelSubscription:"Cancelar la suscripción",cancelShort:"Cancelar",noSubscription:"No hay suscripción activa. Elija un plan abajo para empezar.",availablePlans:"Planes disponibles",availablePlansDesc:"Seleccione el plan que se ajuste a las necesidades de su restaurante.",selectPlan:"Elegir plan",activePlan:"Plan actual",paymentMethods:"Métodos de pago",paymentMethodsDesc:"Tarjetas guardadas para los pagos automáticos de la suscripción.",noCards:"No hay métodos de pago guardados.",defaultCard:"Predeterminada",expires:"Caduca el {month}/{year}",removeCard:"Eliminar tarjeta",removeCardTitle:"Eliminar método de pago",removeCardDesc:"¿Seguro que quiere eliminar la tarjeta terminada en {last4}?",removeCardConfirm:"Eliminar tarjeta",addCard:"Añadir tarjeta",addCardTitle:"Añadir método de pago",addCardDesc:"Añada una tarjeta para pagar su suscripción. Gestionado por Stripe.",addCardSubmit:"Añadir tarjeta",cardholderName:"Nombre del titular",cardholderNamePlaceholder:"Juan Pérez",cardholderEmail:"Correo electrónico",cardholderEmailPlaceholder:"juan{'@'}ejemplo.com",cardDetails:"Datos de la tarjeta",stripeSecured:"Los datos de la tarjeta se cifran y los procesa Stripe. Nunca guardamos su número de tarjeta.",addCardMissingFields:"Introduzca el nombre y el correo del titular de la tarjeta.",addCardError:"No se ha podido añadir la tarjeta. Revise los datos e inténtelo de nuevo.",addCardNotConfigured:"Los pagos con tarjeta no están configurados en este entorno.",history:"Historial de facturación",historyDesc:"Cargos y pagos anteriores de este restaurante.",noCharges:"Todavía no hay historial de facturación.",noChargesFiltered:"Ningún cargo coincide con los filtros actuales.",date:"Fecha",amount:"Importe",status:"Estado",refunded:"Reembolsado",paid:"Pagado",unpaid:"Impagado",invoice:"Factura",invoiceNumber:"N.º de factura",invoiceUnavailable:"Factura no disponible",product:"Producto",productUnknown:"Desconocido",productUnavailable:"Todavía no hay datos del producto para este cargo.",productNames:{Other:"Otros",Subscription:"Suscripción",MarketingTokens:"Tokens de marketing",PhoneNumber:"Número de teléfono",SmsPack:"Paquete de SMS",WhatsAppPack:"Paquete de WhatsApp",GuestDeposit:"Depósito del cliente",GiftCard:"Tarjeta regalo",PaidEvent:"Evento de pago"},downloadInvoicePdf:"Descargar la factura en PDF",viewReceipt:"Ver recibo",statusSucceeded:"Correcto",statusFailed:"Fallido",statusPending:"En curso",statusRefunded:"Reembolsado",statusPartiallyRefunded:"Reembolsado parcialmente",filterAll:"Todos",filterPaid:"Pagados",filterFailed:"Fallidos",filterRefunded:"Reembolsos",dateRange30d:"Últimos 30 días",dateRange90d:"Últimos 90 días",dateRangeYear:"Este año",dateRangeAll:"Desde el principio",exportCsv:"Exportar",amountTooltip:"Subtotal {subtotal} + propinas {tips} + entrega {delivery}",refundedAmount:"Reembolsado {amount}",refundedAmountShort:"−{amount} reembolsados",pageOf:"Página {current} de {total}",prevPage:"Página anterior",nextPage:"Página siguiente",cancelTitle:"Cancelación de la suscripción",cancelDesc:"¿Seguro que quiere cancelar su suscripción? Perderá el acceso a las funciones de pago al final del periodo de facturación en curso.",cancelReasonLabel:"Motivo de la cancelación",cancelReasonPlaceholder:"Cuéntenos por qué cancela…",cancelConfirm:"Cancelar la suscripción"},activityLog:{title:"Registro de actividad",description:"Siga todos los cambios en los configuración de su restaurante — quién camb
1ió qué y cuándo.",entries:"entradas",searchPlaceholder:"Buscar en los cambios…",searchShort:"Buscar…",allUsers:"Todo el equipo",undefinedUser:"Usuario sin identificar",allOperations:"Todas las operaciones",resetFilters:"Restablecer",noResults:"No se han encontrado entradas. Pruebe a ajustar los filtros.",empty:"Todavía no hay actividad registrada.",noReadableChanges:"No hay cambios estructurados que mostrar.",showRaw:"Mostrar el JSON en bruto",hideRaw:"Ocultar el JSON en bruto",op:{create:"Creado",update:"Modificado",delete:"Eliminado",disable:"Desactivado",activate:"Activado"},changes:{enabled:"{field} — activado",disabled:"{field} — desactivado",set:"{field} establecido en «{value}»",cleared:"{field} vaciado",changed:"{field}: «{from}» → «{to}»",items:"{count} elemento(s)"}}},q=JSON.parse('{"status":{"connected":"Conectada","available":"Disponible","error":"Error"},"actions":{"connect":"Conectar","buy":"Comprar","reconnect":"Reconectar","settings":"Configuración","remove":"Desconectar","fix":"Corregir","getSetUp":"Configurar","comingSoon":"Próximamente"},"sections":{"connected":"Conectadas","available":"Disponibles"},"pos":{"emptyTitle":"No hay sistemas TPV","emptyDescription":"Conecte su sistema TPV para sincronizar automáticamente reservas, cartas y estados de mesa."},"payments":{"emptyTitle":"No hay proveedores de pago","emptyDescription":"Active las integraciones de pago para aceptar depósitos, prepagos y pagos dentro de la aplicación."},"stripeAttach":{"progress":"Conectando Stripe…","errorTitle":"No se pudo conectar Stripe","errorBody":"La conexión no se completó. Inténtalo de nuevo desde «Integraciones».","errorGatewayBody":"Este local ya acepta pagos a través de otra pasarela. Desconecta esa aplicación en Integraciones o desactiva su función de pago y luego conecta Stripe: eliminar la cuenta de pago no libera la pasarela.","back":"Volver a Integraciones"},"thirdParty":{"emptyTitle":"No hay aplicaciones de terceros","emptyDescription":"Explore las integraciones disponibles para ampliar las posibilidades de su restaurante."},"channels":{"emptyTitle":"No hay canales de mensajería","emptyDescription":"Las integraciones de SMS, WhatsApp, Telegram y Max aparecerán aquí."},"connectedTab":{"emptyTitle":"No hay integraciones conectadas","emptyDescription":"En cuanto conecte una integración de cualquier categoría, aparecerá aquí agrupada por tipo."},"settingsModal":{"title":"Configuración — {app}","requiresDependency":"Requiere la integración «{dependency}». Instálela desde el marketplace para activar este ajuste.","noSettings":"Esta aplicación no tiene configuración configurables."},"detailsPanel":{"features":"Funciones","settings":"Configuración","reconnectTitle":"Reconectar esta integración","reconnectHint":"Por ejemplo, para cambiar de bot o actualizar las credenciales.","nothingToConfigure":"Esta integración no tiene configuración que configurar."},"airsales":{"settings":{"clientId":{"label":"Client ID de Hostme","desc":"Emitido por Hostme — cópialo en tu cuenta de AiR Sales. Tus credenciales de Hostme no hacen falta allí."},"clientSecret":{"label":"Client Secret de Hostme","desc":"Emitido por Hostme — cópialo en tu cuenta de AiR Sales. Al desconectar la aplicación, el acceso se corta de inmediato."}}},"yandex":{"connectHelp":"Debe conectarse a Yandex Eats. {link}, indicando Hostme como su sistema de reservas y copiando en él los 3 campos de arriba. Una vez conectado, recibirá un Client ID y un Secret de Yandex para pegarlos abajo.","connectHelpLink":"Rellene el formulario","features":{"reservationPull":{"title":"Recibir reservas desde Yandex","desc":"Permite que Yandex Eats consulte su disponibilidad, sus mesas y sus franjas, y cree, obtenga o cancele reservas en Hostme."},"reservationPush":{"title":"Enviar cambios de estado a Yandex","desc":"Hostme devuelve a Yandex Eats los cambios de estado de las reservas."}},"settings":{"pullClientId":{"label":"Client ID de Hostme","desc":"Emitido por Hostme — cópielo en su panel de socio de Yandex Eats."},"pullClientSecret":{"label":"Client Secret de Hostme","desc":"Emitido por Hostme — cópielo en su panel de socio de Yandex Eats."}
1,"pushClientId":{"label":"Client ID de Yandex"},"pushClientSecret":{"label":"Client Secret de Yandex"}}},"popular":"Más populares","removeModal":{"title":"Eliminar integración","message":"¿Seguro que quiere eliminar {app}? Se perderán las conexiones activas y los configuración.","confirm":"Eliminar"},"oauth":{"waitingTitle":"Esperando la autorización de {app}…","waitingHint":"Complete el inicio de sesión en la ventana emergente. Su lista de integraciones se actualizará automáticamente al terminar."},"planRequired":"Requiere el plan {plan}","unlockPlanRequired":"Requiere el plan {plan} para desbloquear {capability}","unlockNotAvailable":"{capability} no se incluye en ningún plan mensual — contacte con el equipo comercial","grandeBanner":{"title":"Las integraciones son una función de Grande","description":"Conecte cualquier TPV, proveedor de pago o aplicación de terceros con el plan Grande. Mejore su plan para desbloquear todo el marketplace.","cta":"Cambiar a Grande"},"priceLabel":"{price} $/mes","featureToggle":"Activar {feature}","names":{"airsales":"AiR Sales — anfitrión de voz con IA"},"descriptions":{"poster":"TPV en la nube para cafeterías, bares y cadenas pequeñas — cartas, pedidos e historial de clientes sincronizados en tiempo real.","lightspeed":"TPV en la nube para restaurantes con carta, inventario e reportes — las reservas llegan directamente al plano de sala.","squarePos":"El TPV para restaurantes de Square, tanto para un local como para marcas en crecimiento — las cuentas se vinculan a las reservas de Hostme.","iiko":"La principal plataforma de gestión de restaurantes de Rusia — TPV, cocina, inventario y ahora también reservas en un mismo lugar.","rkeeper":"TPV empresarial de eficacia probada para restaurantes clásicos y cadenas — sincronice reservas, mesas y cuentas.","rk7":"La plataforma insignia de R-Keeper para cadenas — estados de mesa, pedidos e historial de clientes en un mismo flujo.","clover":"TPV todo en uno que combina hardware y nube — conecte las reservas de Hostme con los terminales y el back office de Clover.","kounta":"TPV en la nube para hostelería de Lightspeed (antes Kounta) — sincronice cartas, cuentas y estados de mesa con Hostme.","omnivore":"Capa de integración universal con más de 70 sistemas TPV — una sola conexión, decenas de marcas.","toast":"Sistema de gestión todo en uno en la nube, creado específicamente para restaurantes, cafeterías y bares sobre hardware Android.","bookingSync":"Sincronización con sistemas de reservas externos — envíe las reservas de Google, Hostme o su web directamente al TPV.","tbank":"Adquirencia rusa con alta rápida y tarifas competitivas — cobre depósitos y prepagos directamente desde una reserva.","yookassa":"Servicio de pagos ruso todo en uno — tarjetas, SBP y monederos en un mismo pago, incluidos reembolsos y cobros recurrentes.","paygateway":"Servicio de pagos universal e-POS: cobro automatizado y venta de códigos PIN — WebMoney, RBK Money, MoneyMail, WebCreds, terminales de pago, Yandex.Money.","stripe":"Cobre depósitos, cargos por no-show y pagos de pedidos online a través de Stripe — procesamiento seguro de tarjetas para las reservas de clientes.","squarePayment":"Las tarifas planas y sencillas de Square — acepte tarjetas online y en el local, sin contratos ni comisiones ocultas.","whatsapp":"Envíe mensajes desde su cuenta de WhatsApp Business — confirmaciones, recordatorios y respuestas en el canal que sus clientes ya usan.","telegram":"Integración con un bot de Telegram para avisar a los clientes — comparten su teléfono a través del bot para autorizarse y recibir mensajes.","twilio":"Envíe y reciba SMS a través de la pasarela de Twilio — mensajería programable de un proveedor global de confianza.","sendgrid":"Integración con SendGrid para los correos a clientes — confirmaciones, recordatorios y avisos con alta capacidad de entrega.","max":"Integración con el bot de MAX Messenger para avisar a los clientes — comparten su teléfono a través del bot para autorizarse y recibir mensajes.","meta":"Conecte su cuenta de Meta Business para sincronizar anuncios, públicos y eventos de conversión con Hostme.","facebook":"Conecte los canales de reserva de Facebook e Instagram — los clientes reservan directamente desde sus perfiles de Meta.","tripadvisor":"Conecte el canal de reservas de Tripadvisor — acepte reservas desde su ficha de Tripadvisor.","michelin":"Conecte el canal de reservas de la Guía MICHELIN — acepte reservas de los clientes que consultan la Guía.","wix":"Integre Hostme con su web de Wix — acepte reservas directamente desde sus páginas de Wix.","google":"Integración con Google Reserve y el Perfil de Empresa — los clientes reservan directamente desde la Búsqueda y Maps.","segment":"Envíe los eventos de clientes a Segment para alimentar su CDP, su analítica y todas las herramientas de marketing conectadas.","premiumbonus":"Fidelización y CRM de Premium Bonus — otorgue puntos por visita y vincule los perfiles de fidelización a las reservas de Hostme.","brandtrack":"Música ambiental con licencia para su local — gestione listas y volumen directamente desde Hostme.","beeline":"Centralita virtual de Beeline — el identificador de llamadas destaca la ficha de la reserva y permite devolver la llamada al cliente con un clic.","asterisk":"Integración con la centralita Asterisk — identificador de llamadas e historial de llamadas dentro de la ficha del cliente.","sipuni":"Centralita en la nube Sipuni — las llamadas entrantes destacan la ficha del cliente y las salientes se lanzan de
1sde una reserva.","hotlead":"Centralita virtual Hotlead — identificador de llamadas y devolución de llamada al cliente con un clic desde una reserva.","uiscom":"Centralita en la nube UIS — el identificador de llamadas y el seguimiento de llamadas se integran con la ficha del cliente.","telphin":"Centralita virtual Telphin — identifique a los clientes por el número entrante y llámeles con un clic.","rostelekom":"Centralita virtual de Rostelecom — identificador de llamadas y devolución de llamada al cliente con un clic desde una reserva.","mango":"Mango Office — centralita en la nube con identificador de llamadas, grabación de llamadas y clic para llamar desde una reserva.","yandexEda":"Reservas online en todos los escaparates de Yandex: Eats, Maps, Búsqueda, Go y Alice AI. Se añade una comisión de Yandex de 79 ₽ por cada cliente que acude.","hostmeSms":"Notificaciones SMS transaccionales a través de la pasarela de Hostme — confirmaciones, recordatorios y cancelaciones.","hostmeMarketingSms":"Campañas de SMS de marketing a través de la pasarela de Hostme — promociones, anuncios y recuperación de clientes inactivos.","hostmeDedicated":"Nombre de remitente de SMS propio — los clientes ven la marca de su restaurante en lugar de un número corto.","events":"Gestión de eventos del restaurante — venta de entradas, depósitos y reservas de eventos en un mismo lugar.","autoTags":"Etiquetado automático de clientes según su comportamiento — VIP, habitual, no-show y decenas de reglas más aplicadas automáticamente.","premiumReports":"Analítica ampliada e reportes a medida — ingresos, afluencia, rendimiento por turnos y canales de reserva.","premiumCampaigns":"Segmentos y escenarios premium para sus campañas de marketing — pruebas A/B, disparadores y analítica avanzada.","privateFeedback":"Recoja opiniones privadas de sus clientes justo después de la visita — reaccione antes de que la reseña llegue a las plataformas públicas.","customApp":"Conecte su propio servicio a Hostme mediante la API — eventos de reserva, clientes y notificaciones en tiempo real.","thermalPrinter":"Imprima recibos y comandas de pedido anticipado en una impresora térmica directamente desde el panel — para anfitriones y meseros.","websiteLeads":"Recoja los contactos de su web en Hostme — los formularios llegan directamente al CRM y a la cola de llamadas.","aiAgent":"Agente de IA para el chat con clientes — responde preguntas, aclara detalles de la reserva y pasa los casos complejos a un anfitrión.","aiAdminAgent":"Agente de IA en el panel para anfitriones y encargados — sugiere acciones y encuentra clientes o reservas en lenguaje natural.","mobilePush":"Notificaciones push celulares a través de la aplicación de clientes de Hostme — entrega instantánea y sin costo de SMS.","whoIsCalling":"Identificador de llamadas entrantes — muestra al instante la ficha del cliente, su historial y sus preferencias cuando suena el teléfono.","campaignsService":"El servicio de campañas de marketing de Hostme — campañas de correo, SMS y push segmentadas por perfil de cliente.","airsales":"Anfitrión de voz con IA — responde en menos de un segundo, revisa la disponibilidad y crea la reserva por sí mismo, 24/7.","starter":"Aplicación y web de reparto propias para restaurantes — reciba pedidos directamente, sin comisiones de agregadores.","unlimitedSms":"Servicio de envío y recepción de SMS ilimitados — funciona como aplicación Android en cualquier dispositivo con línea celular.","e2eMock":"Simulador de pruebas de extremo a extremo que emula un canal SMS. Los mensajes salientes se escriben en la tabla e2eoutbox; los payloads de los webhooks entrantes se normalizan en el flujo estándar de mensajes entrantes. Solo para pruebas automatizadas."}}'),D={title:"Clientes",guestBook:"Libro de clientes",tagsSegments:"Etiquetas",settings:"Configuración",searchPlaceholder:"Buscar clientes por nombre, teléfono o correo…",searchPlaceholderShort:"Buscar",filters:"Filtros",export:"Exportar",exportTitle:"Exportar clientes",exportEmailNote:"El reporte se genera en segundo plano y se envía por correo al propietario o propietarios del restaurante.",exp
1ortFilteredNote:"Sus filtros actuales se aplicarán a la exportación.",exporting:"Exportando…",exportError:"No se ha podido iniciar la exportación. Inténtelo de nuevo.",addGuest:"Añadir cliente",allTags:"Todas las etiquetas",allStatuses:"Todos los estados",allSources:"Todos los orígenes",statusActive:"Activo",statusBlacklisted:"En lista negra",resetFilters:"Restablecer filtros",loading:"Cargando…",totalGuests:"{count} clientes",colName:"Nombre",colPhone:"Teléfono",colEmail:"Correo",colVisits:"Visitas",colLastVisit:"Última visita",colLastVisitShort:"Última",colTags:"Etiquetas",blocked:"Bloqueado",noResults:"Ningún cliente coincide con su búsqueda.",empty:"Todavía no hay clientes.",addFirstGuest:"Añada su primer cliente",page:"Página {page} de {total}",bulk:{toggle:"Seleccionar",exit:"Salir de la selección",selectAllOnPage:"Seleccionar todos los de esta página",selectedCount:"{count} seleccionados",clear:"Restablecer",applyTags:"Aplicar etiquetas",delete:"Eliminar"},bulkTags:{title:"Aplicar etiquetas",subtitle:"Añada una o varias etiquetas a varios clientes a la vez.",scope:"Aplicar a",scopeSelected:"Clientes seleccionados",scopeMatching:"Todos los que coinciden con el filtro actual",guestsCount:"{count} clientes",pickTags:"Etiquetas que se añadirán",noTags:"Todavía no existe ninguna etiqueta. Créelas primero en la pestaña Etiquetas y segmentos.",addOnlyHint:"Las etiquetas se añaden a las que ya existen — no se quitará ninguna.",applyBtn:"Añadir a {count} clientes",applying:"Aplicando…",progress:"{done} / {total} procesados",failedCount:"{count} con error"},bulkDelete:{title:"Eliminar clientes",warning:"Esta acción no se puede deshacer.",warningDetail:"Se eliminarán las fichas, etiquetas y notas de los clientes. El historial de visitas puede seguir asociad
1o a reservas anteriores.",confirmLabel:"Lo entiendo — eliminar {count} clientes",deleteBtn:"Eliminar {count} clientes",deleting:"Eliminando…"},duplicates:{openBtn:"Buscar duplicados",title:"Detección de duplicados",subtitle:"Analice su libro de clientes en busca de fichas que compartan teléfono o correo.",startHint:"Inicie un análisis para agrupar los clientes que parecen duplicados.",scanBtn:"Analizar ahora",scanning:"Analizando… {done} / {total}",scannedTotal:"En total se han analizado {count} clientes.",byPhone:"Por teléfono",byEmail:"Por correo",guestsAffected:"{count} clientes afectados",sharedPhone:"Teléfono compartido",sharedEmail:"Correo compartido",visits:"{count} visitas",noneFound:"No se han encontrado duplicados.",rescan:"Volver a analizar",actionsHint:"Haga clic en un cliente para abrir su ficha. La fusión queda a criterio de su equipo."},firstName:"Nombre",lastName:"Apellidos",phone:"Teléfono",email:"Correo",guestProfile:"Ficha del cliente",memberSince:"Cliente desde",statistics:"Estadísticas",totalVisits:"Total de visitas",last30Days:"Últimos 30 días",cancellations:"Cancelaciones",noShows:"No-shows",preferences:"Preferencias",vegetarian:"Vegetariano",handicapAccessible:"Accesible en silla de ruedas",allergies:"Alergias",tablePreference:"Mesa preferida",birthday:"Cumpleaños",anniversary:"Aniversario",noPreferences:"No hay preferencias registradas.",notes:"Notas",noNotes:"Todavía no hay notas.",marketingOptIn:"Marketing: suscrito",marketingOptOut:"Marketing: dado de baja",uploadPhoto:"Subir foto",changePhoto:"Cambiar foto",removePhoto:"Quitar foto",addTag:"Añadir etiqueta",reservationBreakdown:"Reservas",visitHistory:"Historial de visitas",totalReservations:"Total de reservas",onlineReservations:"Reservas online",hostReservations:"Reservas del anfitrión",avgCheck:"Ticket medio",noVisits:"No hay visitas registradas.",table:"Mesa",ppl:"pers.",block:"Bloquear cliente",unblock:"Desbloquear cliente",delete:"Eliminar",confirmDelete:"Confirmar eliminación",tagsTitle:"Etiquetas de clientes",tagsDescription:"Cree y gestione etiquetas para organizar y clasificar a sus clientes.",addNewTag:"Añadir etiqueta",tagNamePlaceholder:"Nombre de la etiqueta…",systemTag:"Sistema",guestsWithTag:"{count} clientes",noTags:"Todavía no se ha creado ninguna etiqueta.",addFirstTag:"Cree su primera etiqueta",searchTags:"Buscar etiquetas…",noTagsMatch:"Ninguna etiqueta coincide con su búsqueda.",viewGuestsWithTag:"Mostrar los clientes con esta etiqueta",autoTags:"Etiquetas automáticas",autoTagsDesc:"Asigne etiquetas automáticamente según el comportamiento de reserva y visita de los clientes.",autoTagsTabDescription:"Defina en qué condiciones los clientes reciben automáticamente cada etiqueta. Las reglas sin nombre de etiqueta permanecen inactivas.",autoTagsAlphaTitle:"Etiquetas automáticas — Alfa",autoTagsAlphaHint:"Las etiquetas automáticas están en fase alfa temprana — las estamos afinando con un grupo reducido de restaurantes. El acceso público se abrirá en cuanto terminen las pruebas. ¡Gracias por su paciencia!",autoTagsLoading:"Cargando las reglas de etiquetado automático…",autoTagsLoadError:"No se han podido cargar las reglas de etiquetado automático.",autoTagsRetry:"Reintentar",autoTagsBackendMissingTitle:"Etiquetas automáticas no disponibles",autoTagsBackendMissingHint:"Su cuenta todavía no tiene acceso al motor de etiquetado automático. Contacte con soporte para activarlo.",autoTagsNotEnabledTitle:"No se han podido activar las etiquetas automáticas",autoTagsNotEnabledHint:"No hemos podido activar el motor de etiquetado automático para este restaurante. Inténtelo de nuevo o contacte con soporte.",autoTagsEnable:"Activar las etiquetas automáticas",autoTagsEnabling:"Activando las etiquetas automáticas…",autoTagsNoRules:"Las reglas de etiquetado automático todavía no están disponibles.",autoTagsNoEvents:"Este restaurante todavía no tiene eventos de marketing.",autoTagsRuleEnable:"Activar esta regla",autoTagsRuleTagName:"Nombre de la etiqueta",autoTagsRuleTagNamePlaceholder:"p. ej. VIP, Habitual, En riesgo",autoTagsRuleSpentAtLeast:"Ha gastado al menos",autoTagsRuleVisitsAtLeast:"Visitas al menos",autoTagsRulePeriod:"Periodo",autoTagsSaved:"Guardado",settingsTitle:"Configuración de clientes",settingsDescription:"Configure cómo gestiona su restaurante las fichas de cliente y las notificaciones.",notifyOnBlacklist:"Avisar a los clientes al ponerlos en lista negra",notifyOnBlacklistDesc:"Al activarlo, los clientes reciben automáticamente una notificación cuando se les añade a la lista negra de su restaurante.",dataHygiene:{title:"Higiene de datos",description:"Herramientas para mantener su libro de clientes limpio y al día."}},R=JSON.parse(`{"channels":{"title":"Canales de comunicación","description":"Configure los canales de S
1MS, WhatsApp, correo y Telegram","configure":"Configurar","unavailable":"No disponible","backToChannels":"Volver a los canales","providerCount":"{count} proveedor(es)","devBannerTitle":"Los canales están en desarrollo","devBannerHint":"Esta sección aún no está lista. Para configurar SMS, WhatsApp, correo y Telegram, use por ahora la pestaña Canales de Integraciones.","devBannerLink":"Abrir las integraciones de canales","status":{"enabled":"Activado","disabled":"Desactivado","unavailable":"No disponible","pending":"Pendiente","pendingSetup":"Pendiente de configuración","configured":"Configurado","actionRequired":"Configurar"},"max":{"title":"Configuración del canal MAX","description":"Configure la integración con la mensajería MAX","comingSoon":"Próximamente","comingSoonDesc":"La integración con la mensajería MAX está en desarrollo. Vuelva pronto para ver novedades."},"sms":{"title":"Configuración del canal SMS","description":"Configure los proveedores de SMS y los datos del remitente","noProvider":"No hay ningún proveedor de SMS activo","noProviderHint":"Active al menos un proveedor para empezar a enviar SMS.","providers":"Proveedores de SMS","priorityHint":"Los mensajes se envían por el proveedor activo con mayor prioridad. Si falla, se usa el siguiente.","activeDragPriority":"{count} activos · arrastre para ordenar la prioridad","numberType":"Tipo de número","buyDedicated":"Comprar un número propio","buyDedicatedDesc":"El número se asigna de inmediato.","buyDedicatedComingSoon":"Próximamente","alphanumericSenderId":"Remitente alfanumérico","alphanumericSenderIdDesc":"Un nombre de marca propio en lugar de un número.","notAvailableWarning":"No está disponible en todos los países. La normativa varía según la región.","yourBrandPlaceholder":"SuMarca","reasonPlaceholder":"Motivo de la solicitud (opcional)","apiKey":"Clave API","enterApiKeyPlaceholder":"Introduzca su clave API de Beeline","apiKeyVerified":"Clave API verificada","invalidApiKey":"Clave API no válida. Revísela e inténtelo de nuevo.","androidSetup":"Configuración del teléfono Android","androidSetupDesc":"Instale la aplicación Hostme SMS Gateway en su teléfono Android. Los mensajes se enviarán directamente con su tarifa celular."},"whatsapp":{"title":"Configuración del canal de WhatsApp","description":"Configure la API de WhatsApp Business para los envíos masivos","noProviderConnected":"No hay ningún proveedor de WhatsApp conectado","chooseProviderHint":"Elija abajo un proveedor para empezar a hacer envíos por WhatsApp.","provider":"Proveedor","standard":"WhatsApp Standard","standardPrice":"0,05 $ / mensaje","standardDesc":"API de WhatsApp Business completa","lite":"WhatsApp Lite","litePrice":"20 $ / mes","liteDesc":"Refleja su WhatsApp personal","whatsappMirror":"Espejo de WhatsApp","linkWhatsApp":"Vincule su cuenta personal de WhatsApp","scanQrHint":"Abra WhatsApp en su teléfono → Dispositivos vinculados → Vincular un dispositivo → Escanee este código QR","qrError":"No se ha podido generar el código QR. Inténtelo de nuevo.","senderIdentity":"Identidad del remitente","hostmeNumber":"Número de Hostme","hostmeNumberDesc":"Número compartido de Hostme","dedicatedNumber":"Número propio","dedicatedNumberDesc":"Usar su número propio de SMS","requiresDedicated":"Requiere un número propio de SMS","requestDedicated":"Solicitar un número propio","dedicatedNumberOption":"Número propio","senderIdOption":"Remitente alfanumérico","preferredAreaCodePlaceholder":"Prefijo preferido","reasonPlaceholder":"Motivo (opcional)","whatsappBusiness":"WhatsApp Business","previewMessage":"¡Hola, Juan! Su reserva en {restaurant} está confirmada para esta noche a las 19:00. ¡Le esperamos!","linkStatus":{"linked":"Vinculada","linkedDesc":"La cuenta de WhatsApp está conectada.","pending":"Vinculación pendiente","pendingDesc":"Escanee el código QR para terminar la configuración.","failed":"Error de vinculación","failedDesc":"La vinculación ha fallado. Pruebe a generar un código QR nuevo.","notLinked":"No vinculada","notLinkedDesc":"WhatsApp todavía no está vinculado."}},"email":{"title":"Configuración del canal de correo","description":"Configure los datos del remitente de correo","senderName":"Nombre del remitente","restaurantNamePlaceholder":"Nombre de su restaurante","senderNameHint":"Este nombre aparece en el campo «De» de sus correos.","senderEmail":"Correo del remitente","hostmeDefault":"Predeterminado de Hostme","customEmail":"Correo propio","customEmailDesc":"Use su propio correo verificado","pendingVerification":"Verificación pendiente","verified":"Verificado","verifyCustomEmail":"Verificar una dirección de correo propia","verificationSentTo":"Correo de verificación enviado a {email}. Revise su bandeja de entrada.","emailPlaceholder":"su{'@'}correo.com","yourRestaurant":"Su restaurante","reservationConfirmation":"Confirmación de reserva","previewMessage":"Hola, Juan: su reserva está confirmada para esta noche a las 19:00…"},"telegram":{"title":"Configuración del canal de Telegram","description":"Configure el bot de Telegram para los envíos masivos","botMode":"Modo del bot","hostmeBot":"Bot de Hostme","hostmeBotPrice":"0,02 $ / mensaje","hostmeBotDesc":"Usar el bot compartido de Hostme","yourOwnBot":"Su propio bot","ownBotPrice":"20 $ / mes","ownBotDesc":"Conecte su propio bot de {'@'}BotFather","connectYourBot":"Conectar su bot","howToGetToken":"Cómo obtener un token de bot","step1":"Abra Telegram y busque {'@'}BotFather","step2":"Envíe /newbot y siga las instrucciones","step3":"Copie el token de la API y péguelo abajo","botToken":"Token del bot","tokenPlaceholder":"123456:ABC-DEF1234...","botConnected":"Bot conectado correctamente","invali
1dToken":"Token no válido. Revíselo e inténtelo de nuevo.","selectBot":"Elegir bot","selectBotPlaceholder":"Seleccione un bot...","externalConnection":"Conexión externa detectada","externalConnectionDefault":"Este bot también está conectado a otro servicio.","forwardingMode":"Modo de reenvío","mirror":"Espejo","mirrorDesc":"Reenviar los mensajes a ambos servicios","exclusive":"Exclusivo","exclusiveDesc":"Usar solo con Hostme","hostmeBotFallback":"Bot de Hostme","telegramBot":"Bot de Telegram","previewMessage":"¡Hola, Juan! Su reserva en {restaurant} está confirmada para esta noche a las 19:00.","step2b":"y siga las instrucciones"}},"tagPicker":{"search":"Buscar variables…","noResults":"No hay variables que coincidan","insertTitle":"Insertar variable","categories":{"restaurant":"Restaurante","guest":"Cliente","booking":"Reserva","links":"Enlaces"},"tags":{"Restaurant_Name":{"label":"Nombre","desc":"Nombre del restaurante"},"Restaurant_Address":{"label":"Dirección","desc":"Dirección completa"},"Restaurant_Phone":{"label":"Teléfono","desc":"Número de teléfono"},"Restaurant_Links_GuestAppUrl":{"label":"Página de reservas","desc":"URL de reserva online"},"Guest_CustomerName":{"label":"Nombre completo","desc":"Nombre completo del cliente"},"Guest_FirstName":{"label":"Nombre","desc":"Nombre del cliente"},"Guest_LastName":{"label":"Apellidos","desc":"Apellidos del cliente"},"Guest_Phone":{"label":"Teléfono","desc":"Teléfono del cliente"},"Booking_ReservationDate":{"label":"Fecha","desc":"Fecha de la reserva"},"Booking_ReservationTime":{"label":"Hora","desc":"Hora de la reserva"},"Booking_ReservationDateTime":{"label":"Fecha y hora","desc":"Fecha y hora completas"},"Booking_PartySize":{"label":"Tamaño del grupo","desc":"Número de comensales"},"Booking_TableNumber":{"label":"Mesa","desc":"Número de mesa"},"Booking_Areas":{"label":"Zona","desc":"Nombre de la zona de sala"},"Booking_Duration":{"label":"Duración","desc":"Duración de la reserva"},"Booking_Note":{"label":"Nota","desc":"Nota o petición especial del cliente"},"Booking_Reason":{"label":"Motivo","desc":"Motivo de la cancelación"},"Booking_WaitTime":{"label":"Tiempo de espera","desc":"Tiempo de espera estimado"},"Booking_MinutesToConfirm":{"label":"Min. para confirmar","desc":"Minutos hasta la cancelación automática"},"Booking_Links_GuestReservationEditUrl":{"label":"Enlace de edición","desc":"URL para que el cliente modifique la reserva"},"Booking_Links_ReservationFeedbackUrl":{"label":"Enlace de opinión","desc":"URL de opinión tras la visita"},"Booking_Links_GuestReservationPayUrl":{"label":"Enlace de pago","desc":"URL de pago online"},"ManageLink":{"label":"Enlace de gestión","desc":"Enlace de gestión general"}}},"templates":{"sectionTitle":"Plantilla","sectionDesc":"Elija un tipo de plantilla y la plantilla concreta que quiere editar.","template":"Plantilla","language":"Idioma","selectTemplate":"Seleccione una plantilla para editarla","channels":"Canales de notificación","sendTest":"Enviar correo de prueba","testTitle":"Enviar correo de prueba","testDescription":"Se enviará un correo de prueba de «{name}» para que pueda comprobar el contenido y el formato.","testDirtyHint":"Guarde los cambios para poder enviar una prueba","testSentTo":"Enviado a","testOwnerNote":"La prueba se envía a la dirección de correo de su cuenta.","testOwnerFallback":"el correo de su cuenta","testConfirm":"Enviar prueba","testSentToast":"Correo de prueba enviado","resetDefault":"Restablecer valores predeterminados","resetConfirmTitle":"¿Restablecer la plantilla a los valores predeterminados?","resetConfirmMessage":"Se restablecerán el asunto, la vista previa, el encabezado, el cuerpo del correo, el SMS, el WhatsApp y el título push de esta plantilla e idioma a su contenido predeterminado. Esta acción no se puede deshacer.","subject":"Asunto","preheader":"Vista previa","header":"Encabezado","emailContent":"Contenido del correo","smsText":"Texto del SMS","pushTitle":"Título push","whatsappText":"Texto de WhatsApp","channelsDesc":"Active o desactive los canales de notificación de esta plantilla.","emailContentDesc":"Personalice el asunto, la vista previa, el encabezado y el cuerpo del correo.","emailBody":"Cuerpo del correo","smsAndPush":"SMS y push","smsAndPushDesc":"Defina el texto del SMS y el título de la notificación push de esta plantilla.","whatsappDesc":"Defina el texto del mensaje de WhatsApp de esta plantilla.","folderReservation":"Reserva","folderWaitlist":"Lista de espera","folderOrder":"Pedido","folderTakeaway":"Para llevar","folderStaffReservation":"Equipo · reserva","folderStaffOrder":"Equipo · pedido","folderStaffSystem":"Sistema","folderStaffWebsiteLead":"Contactos de la web","names":{"canceled":"Cancelada","changed":"Modificada","confirmed":"Confirmada","feedback":"Opinión","generic":"Genérica","invitation":"Invitación","invitationaccepted":"Invitación aceptada","invoice":"Factura","paymentreminder":"Recordatorio de pago","rejected":"Rechazada","reminder":"Recordatorio","requested":"Solicitada","approved":"Aprobada","called":"Llamado","canceledbyguest":"Cancelada por el cliente","canceledbyhost":"Cancelada por el anfitrión","seated":"Sentado","ready":"Listo","loyalty":"Fidelización","welcome":"Bienvenida","approvalforhost":"Aprobación (anfitrión)","canceledforhost":"Cancelada (anfitrión)","changedforhost":"Modificada (anfitrión)","newreservationforhost":"Reserva nueva (anfitrión)","reminderforhost":"Recordatorio (anfitrión)","canceledorderforhost":"Pedido cancelado (anfitrión)","changedorderforhost":"Pedido modificado (anfitrión)","neworderforhost":"Pedido nuevo (anfitrión)","reminderorderforhost":"Recordatorio de pedido (anfitrión)","appfeedback":"Opinión sobre la aplicación","blocked":"Bloqueado","confirmemail":"Confirmar correo","exporttocsv":"Exportar a CSV","invitationforuser":"Invitación de usuario","paymentlink":"Enlace de pago","receipt":"Recibo","remindertopay":"Recordatorio de pago","renew
1al":"Renovación","resetpassword":"Restablecer contraseña","specialdays":"Días especiales","welcomeforowner":"Bienvenida (propietario)","welcomeforuser":"Bienvenida (usuario)","accountarchived":"Cuenta archivada","notification":"Aviso de archivado","existingaccountsignin":"Inicio de sesión en una cuenta existente","registrationcode":"Código de registro","abandoned":"Contacto abandonado","submitted":"Contacto enviado"},"availableVariables":"Variables disponibles","clickFieldToInsert":"Haga clic primero en un campo de texto y después en una variable para insertarla."},"customization":{"emailTypeTitle":"Qué se muestra en el correo","emailTypeDesc":"Elija un tipo de correo y después los bloques que ve el cliente. Cada tipo tiene su propio conjunto de elementos.","toggleSectionLabel":"Opciones de personalización","reservation":"Reserva","waitlist":"Lista de espera","order":"Pedido","reservationSection":"Datos de la reserva","orderSection":"Pedido y extras","restaurantSection":"Restaurante","brandingSection":"Marca y promoción","logoSection":"Logotipo y autor","socialSection":"Redes sociales","policySection":"Políticas","otherSection":"Otros elementos","toggles":{"showreservationdetails":"Detalles de la reserva","showguestname":"Nombre del cliente","showduration":"Duración","showtablenumber":"Número de mesa","showtablenotes":"Notas de la mesa","showareas":"Zonas","showallergies":"Alergias","
1showdeposit":"Depósito","showreason":"Motivo","shownote":"Nota","showmanagebutton":"Botón para ver o modificar la reserva","showorder":"Pedido","showadditionals":"Extras","showcustomadditionals":"Extras propios","showrestaurantdetails":"Datos del restaurante","showrestaurantaddress":"Dirección","showrestaurantservices":"Servicios del restaurante","showrestaurantlogo":"Logotipo del restaurante","showauthorlogo":"Logotipo del autor","showpromo":"Promoción","showheaderpromo":"Promoción en el encabezado","showtwitter":"Twitter","showfacebook":"Facebook","showinstagram":"Instagram","showyelp":"Yelp","showtripadvisor":"TripAdvisor","showgoogle":"Google","showcustompolicY1":"Política personalizada n.º 1","showcustompolicY2":"Política personalizada n.º 2","showcustompolicY3":"Política personalizada n.º 3","showcustompolicyordeR1":"Política de pedidos"}},"branding":{"colors":"Colores de marca","backgroundColor":"Color de fondo","textColor":"Color del texto","logo":"Logotipo del restaurante","uploadLogo":"Subir logotipo","changeLogo":"Cambiar logotipo","logoHint":"Recomendado: 200×200 px, PNG o SVG, máx. 2 MB","promo":"Sección promocional","promoImage":"Imagen promocional","uploadImage":"Subir imagen","changeImage":"Cambiar imagen","promoContent":"Texto promocional","promoContentPlaceholder":"Escriba el texto promocional que quiere incluir en los correos...","colorsDesc":"Defina los colores de fondo y de texto de sus plantillas de correo.","logoDesc":"Suba el logotipo de su restaurante para mostrarlo en el encabezado de los correos.","promoDesc":"Añada una imagen y un texto promocionales para los correos salientes."},"policies":{"language":"Idioma","promo":"Bloque promocional","customPolicy1":"Política personalizada n.º 1","customPolicy2":"Política personalizada n.º 2","customPolicy3":"Política personalizada n.º 3","orderPolicy":"Política de pedidos","blockTitle":"Título","blockContent":"Contenido","languageDesc":"Elija el idioma en el que quiere editar los textos de las políticas."}}`),N={title:"Analítica",errors:{loadFailed:"No se han podido cargar los datos de analítica"},range7d:"7 días",range30d:"30 días",range7dShort:"7 d",range30dShort:"30 d",range7dXShort:"7d",range30dXShort:"30d",customRequestTitle:"Analítica a medida para su restaurante",customRequestComingSoon:"Próximamente",customRequestComingSoonNote:"Estamos trabajando en ello — el formulario de solicitud aparecerá aquí en una de las próximas versiones. Mientras tanto, ya puede contarle a su gestor de cuenta qué le gustaría ver.",customRequestDesc:"Díganos qué cifras necesita para dirigir su negocio — ticket medio por franja horaria, rendimiento de los anfitriones, retención por cohortes, conversión de la lista de espera, lo que sea. Prepararemos el reporte y lo añadiremos aquí mismo, en su panel.",customRequestCta:"Solicitar un reporte a medida",customRequestGrandeOnly:"La analítica a medida está disponible en el plan Grande.",customRequestUpgradeCta:"Cambiar a Grande",comparePrevious:"Comparar con el periodo anterior",comparePreviousShort:"Comparar",previousPeriod:"Periodo anterior",noData:"No hay datos de este periodo",sourceLabels:{online:"Online",host:"Anfitrión"},totalReservations:"Total de reservas",totalCovers:"Total de comensales",noShowRate:"Tasa de no-shows",avgPartySize:"Tamaño medio del grupo",dailyCovers:"Comensales por día",covers:"Comensales",bySource:"Reservas por origen",exportReservations:"Exportar reservas",exportColumns:{id:"ID de reserva",posReferenceId:"Referencia POS",vendorAppId:"ID de conexión",date:"Fecha",time:"Hora",guest:"Cliente",phone:"Teléfono",covers:"Comensales",table:"Mesa",status:"Estado",source:"Origen",channel:"Canal",deposit:"Depósito"},byVendor:"Reservas por proveedor",vendorNames:{yandexEats:"Yandex Eats",google:"Reserve with Google",airsales:"AiR Sales"},vendorHostme:"Hostme",vendorOther:"Otros",byStatus:"Reservas por estado",outcomes:"Resultados",onlineRequests:"Solicitudes online",onlineRequestsDesc:"Reservas que necesitaron la confirmación de un anfitrión",autoApprovalEnabled:"La aprobación automática está activada. Las reservas online se confirman automáticamente, sin revisión manual.",reservationVolume:"Volumen de reservas",reservations:"Reservas",peakHours:"Mapa de calor de horas punta",topStats:"Indicadores clave",busiestDay:"Día con más actividad",busiestHour:"Hora con más actividad",avgDaily:"Media diaria",noShows:"No-shows",noShowTrend:"Evolución de la tasa de no-shows",canceledCount:"Canceladas",topNoShowGuests:"Clientes con más no-shows",guest:"Cliente",visits:"Visitas",lastVisit:"Última visita",lastVisitShort:"Última",tags:"Etiquetas",totalWaitings:"Total en lista de espera",avgWait:"Espera media",conversionRate:"Tasa de clientes sentados",abandonRate:"Tasa de abandono",waitDistribution:"Distribución de los tiempos de espera",waitMinutes:"Tiempo de espera (minutos)",peakWaits:"Espera media por hora",guests:"Clientes",totalTables:"Total de mesas",avgUtilization:"Ocupación media",avgTurnsPerDay:"Rotaciones medias / día",tablePerformance:"Ren
1dimiento de las mesas",table:"Mesa",seats:"Plazas",turns:"Rotaciones",turnsShort:"Rot.",avgOccupancy:"Ocupación media",utilization:"Uso",totalGuests:"Total de clientes",newGuests:"Clientes nuevos",returningGuests:"Recurrentes",avgVisits:"Visitas medias",visitFrequency:"Frecuencia de visitas",visitsCount:"Número de visitas",topGuests:"Mejores clientes",export:"Exportar",vsPrev:"vs. anterior",minUnit:"min",partiesUnit:"grupos",dayMon:"Lun",dayTue:"Mar",dayWed:"Mié",dayThu:"Jue",dayFri:"Vie",daySat:"Sáb",daySun:"Dom",statusApproved:"Confirmadas",statusClosed:"Cerradas",statusSeated:"Sentados",statusPending:"Pendientes",statusRejected:"Rechazadas",statusCanceled:"Canceladas por el restaurante",statusCanceledByClient:"Canceladas por el cliente",statusNoShow:"No-show",statusConfirmed:"Confirmadas",statusFinished:"Finalizadas",requestApproved:"Aprobadas",orders:"Pedidos",totalOrders:"Total de pedidos",dailyOrders:"Pedidos por día",avgTicket:"Ticket medio",avgFulfillment:"Tiempo medio de entrega",typeTakeaway:"Para recoger",typeDelivery:"A domicilio",typeUnknown:"Desconocido",cancelRate:"Tasa de cancelación",byType:"Por tipo",coversInPeriod:"comensales en el periodo"},w={title:"Segmentos",tabLabel:"Segmentos",removeFilterChip:"Quitar {label}",builderTitle:"Filtrar clientes",builderTitleAudience:"Elegir audiencia",applyFilters:"Aplicar",applyAndClose:"Aplicar y cerrar",save:"Guardar",resetFilters:"Restablecer todo",reset:"Restablecer",cancel:"Cancelar",saveAs:"Guardar como segmento…",saveAsDisabled:"Guardar segmentos propios — próximamente",customSegmentsFeature:"Segmentos personalizados",segmentNamePlaceholder:"Nombre del segmento",saveSegmentChanges:"Guardar cambios",editSegmentTitle:"Editar segmento",deleteSegmentTitle:"¿Eliminar el segmento?",deleteSegmentMessage:"«{name}» se eliminará para toda la red. Esta acción no se puede deshacer.",deleteSegmentMessageSingle:"«{name}» se eliminará. Esta acción no se puede deshacer.",apply:"Aplicar",nameLabel:"Nombre",descriptionLabel:"Descripción",descriptionPlaceholder:"p. ej. VIP del barrio",noDescription:"Sin descripción",optional:"opcional",saveDialogTitle:"Guardar segmento",saveDialogHint:"Póngale nombre para reutilizarlo en campañas, automatizaciones y el libro de clientes.",savedSegmentsLabel:"Segmentos guardados",savedSegmentsComingSoon:"Próximamente",quickStart:"Inicio rápido",quickStartHint:"Elija un preajuste para rellenar los filtros de abajo — o cree el suyo.",quickStartApplied:"Aplicado: {name}",quickStartCustom:"Filtro propio — ajuste los grupos de abajo.",groupsHeader:"Filtros",noActiveFilters:"No hay filtros aplicados — se incluyen todos los clientes.",activeGroups:"{count} filtro | {count} filtros",recipientsTitle:"Destinatarios",recipientsCount:"{count} destinatario | {count} destinatarios",recipientsEmpty:"Ningún destinatario coincide con estos filtros.",recipientsHint:"Mostrando los primeros {count} de {total}",costEstimate:"Costo estimado",tokensUnit:"tokens",noChannelHint:"No se aplica el filtrado por canal (solo vista previa).",rangeFrom:"desde",rangeTo:"hasta",rangeBetween:"entre",min:"Mín.",max:"Máx.",anyValue:"Cualquiera",section:{visits:"Visitas",reservations:"Reservas",money:"Dinero"},groups:{guestTags:"Etiquetas de clientes",languages:"Idioma",requestTypes:"Peticiones especiales",joinDate:"Fecha de alta",lastVisit:"Última visita",visitDate:"Fecha de visita",visitDateHelper:"El rango está limitado a 90 días — las fechas fuera de esa ventana están desactivadas.",totalVisits:"Total de visitas",visits30:"Visitas en los últimos 30 días",visitsPeriod:"Visitas en el período",cancelations:"Cancelaciones",totalReservations:"Total de reservas",onlineReservations:"Reservas online",inHouseReservations:"Reservas en el local",totalSpent:"Total gastado",averageCheque:"Ticket medio",events:"Eventos",restaurants:"Restaurantes",gender:"Sexo",blacklisted:"En lista negra",birthMonth:"Cumpleaños"},blacklistedHint:"Mostrar solo los clientes en lista negra",period:{30:"Últimos 30 días",45:"Últimos 45 días",90:"Últimos 90 días",180:"Últimos 180 días",all:"Desde el principio"},eventsEmpty:"No hay eventos disponibles para este restaurante.",eventsLoading:"Cargando eventos…",requestType:{Allergy:"Con alergias",Vegetarian:"Vegetarianos",HandicapAccessible:"Accesible en silla de ruedas"},birthday:{dayPlaceholder:"DD",monthPlaceholder:"Mes"},presets:{all_guests:{name:"Todos los clientes",description:"Sin filtros aplicad
1os"},new_30d:{name:"Nuevos (30 días)",description:"Se dieron de alta en los últimos 30 días"},new_90d:{name:"Nuevos (90 días)",description:"Se dieron de alta en los últimos 90 días"},lapsed_180d:{name:"Sin venir (6 meses)",description:"Última visita hace más de 180 días"},lapsed_1y:{name:"Sin venir (1 año)",description:"Última visita hace más de 365 días"},frequent:{name:"Clientes habituales",description:"10 o más visitas en total"},vip:{name:"VIP",description:"Con la etiqueta VIP"},high_spenders:{name:"Grandes consumidores",description:"Han gastado 500 o más en total"},cancellers:{name:"Cancelan a menudo",description:"3 o más cancelaciones"},blacklisted:{name:"Lista negra",description:"Clientes en lista negra"},allergies:{name:"Con alergias",description:"Clientes con alergias alimentarias"},vegetarian:{name:"Vegetarianos",description:"Clientes vegetarianos"},birthday_this_month:{name:"Cumpleaños este mes",description:"Clientes que cumplen años este mes"}},savedSegments:{title:"Segmentos guardados",builtIn:"Preajustes integrados",custom:"Mis segmentos",customComingSoon:"Guarde sus propias combinaciones de filtros para reutilizarlas con un clic. Disponible en el plan Grande.",previewCount:"{count} cliente | {count} clientes",openInBuilder:"Abrir en el generador"},tabPage:{builtInDescription:"Filtros listos para usar que cubren los grupos de clientes más habituales. Haga clic en una tarjeta para aplicarla y ver los clientes correspondientes en el libro de clientes.",useFilter:"Aplicar filtro",newSegment:"Segmento nuevo",customDescription:"Sus combinaciones de filtros guardadas — reutilizables en campañas, automatizaciones y el libro de clientes.",applyHint:"Haga clic para aplicarlo al libro de clientes",customEmptyTitle:"Todavía no hay segmentos guardados",customEmptyHint:"Cree un filtro y guárdelo para reutilizarlo en campañas, automatizaciones y el libro de clientes."},comingSoon:"Próximamente"},M={usage:{loading:"Cargando…",trial:{title:"Prueba · quedan {days} días"},trialEndingSoon:{title:"La prueba termina en {days} días",titleToday:"La prueba termina hoy"},paymentFailed:{title:"Pago fallido",subtext:"Actualice su tarjeta para evitar la suspensión"},noSubscription:{title:"Sin suscripción activa",subtext:"Elija un plan para continuar"},active:{fallbackTitle:"Suscripción",subtext:"{used} / {quota} eventos · se reinicia en {days} d"},events:{usedOfQuota:"{used} / {quota} eventos",unlimited:"∞ Eventos ilimitados",trialDaysLeft:"Quedan {remaining} de {total} días"},cta:{upgrade:"Cambiar a un plan de pago",addPayment:"Añadir método de pago",updatePayment:"Actualizar el pago",choosePlan:"Elegir plan",viewBilling:"Abrir facturación"},noAccess:{contactOwner:"Contacte con el propietario para gestionar la facturación"}}},L=JSON.parse('{"onboarding":{"empty":{"title":"Su plano de sala está vacío","subtitle":"Añada mesas, paredes y decoración para dibujar su espacio — o empiece con un ejemplo listo.","addTable":"Añadir su primera mesa","loadSample":"Cargar un plano de ejemplo","fromPhoto":"Crear a partir de una foto","fromPhotoBadge":"Alfa","fromPhotoProgress":"Leyendo su plano…","fromPhotoDone":"{n} mesas importadas — revise, ajuste y luego guarde.","fromPhotoEmpty":"No hemos encontrado un plano de sala en esa imagen. Pruebe con una foto más nítida.","fromPhotoError":"No hemos podido leer el plano de esa imagen. Inténtelo de nuevo.","takeTour":"Hacer un recorrido rápido"},"step":"Paso {n} de {total}","skip":"Saltar","back":"Atrás","next":"Siguiente","done":"Entendido","steps":{"toolbar":{"title":"Añada lo que necesite","text":"Elija aquí una mesa, una pared, una etiqueta de texto o un elemento decorativo, y luego haga clic en el lienzo para colocarlo."},"canvas":{"title":"Coloque y organice","text":"Haga clic en cualquier punto del lienzo para colocarlo. Una vez puesto, arrástrelo para moverlo y use los tiradores de las esquinas para cambiar su tamaño o girarlo."},"panel":{"title":"Ajuste al detalle","text":"Seleccione un objeto para editar su tamaño, zona, número y rotación en este panel."},"save":{"title":"Guarde su trabajo","text":"Los cambios se mantienen hasta que haga clic en Guardar. Deshacer y Rehacer están siempre a mano."},"mobileAdd":{"title":"Añada lo que necesite","text":"Haga clic en + para añadir mesas, paredes, texto y decoración, y luego en el lienzo para colocarlos.","textTouch":"Toque + para añadir mesas, paredes, texto y decoración, y luego toque el lienzo para colocarlos."},"mobileCanvas":{"title":"Coloque y organice","text":"Haga clic en cualquier punto del lienzo para colocarlo. Arrástrelo para moverlo y use los tiradores de las esquinas para cambiar su tamaño o girarlo.","textTouch":"Toque cualquier punto del lienzo para colocarlo. Arrástrelo para moverlo, use los tiradores de las esquinas para cambiar su tamaño o girarlo, y pellizque con dos dedos para hacer zoom en todo el plano."},"mobilePanel":{"title":"Ajuste al detalle","text":"Seleccione un objeto para editar su tamaño, zona, número y rotación en el panel de abajo."},"view":{"title":"Vista y zoom","text":"Ajuste el plano a la pantalla, muestre la cuadrícula y active la capa que colorea sus zonas y marca las mesas con depósito.","textTouch":"Ajuste el plano, muestre la cuadrícula, coloree sus zonas (las mesas con depósito también se marcan) y active la selección múltiple para elegir varios objetos a la vez."}}},"help":{"title":"Ayuda","shortcuts":"Atajos de teclado","tour":"Hacer el recorrido"},"demo":{"renumbered":"{n} mesa(s) renumerada(s) para que los números sigan siendo únicos entre sus plantas.","labels":{"bar":"Barra","entrance":"Entrada"}
1,"zones":{"bar":"Barra","main":"Sala principal","terrace":"Terraza"}},"decor":{"plant":"Planta","cat":{"greenery":"Vegetación","furniture":"Mobiliario","structure":"Distribución","entertainment":"Ocio","signs":"Señalización"},"label":{"accessible":"Accesible","air-vent":"Rejilla de ventilación","arrow":"Flecha","camera-cctv":"Cámara / videovigilancia","chef":"Chef","children-room":"Zona infantil","cloakroom":"Guardarropa","dj-disc":"DJ / disco","exit":"Salida","fire-extinguisher":"Extintor","fish":"Pescado","food":"Comida","hookah":"Cachimba","host":"Anfitrión","karaoke":"Karaoke","kitchen":"Cocina","live-music":"Música en directo","no-smoking":"Prohibido fumar","parking":"Estacionamiento","power":"Electricidad","power-outlet":"Enchufe","service":"Servicio","smoking":"Zona de fumadores","soap":"Jabón","speaker":"Altavoz","under-construction":"En obras","wc":"Aseos","waves":"Olas","wi-fi":"Wi-Fi","armchair":"Sillón","chair":"Silla","bar":"Barra","sofa-2":"Sofá 2","sofa-3":"Sofá 3","sofa-3-alt":"Sofá 3 alt.","sofa-3x2":"Sofá 3x2","sofa-4x3":"Sofá 4x3","door":"Puerta","double-doors":"Puerta doble","sliding-door":"Puerta corredera","stairs-1":"Escalera 1","stairs-2":"Escalera 2","sink-1":"Lavabo 1","sink-2":"Lavabo 2","toilet":"Inodoro","rug-1":"Alfombra 1","rug-2":"Alfombra 2","umbrella":"Sombrilla","billiard-table":"Mesa de billar","dj-mixer":"Mesa de mezclas","piano":"Piano","synth":"Sintetizador","tv-1":"TV 1","tv-2":"TV 2","sofa-2-alt":"Sofá 2 alt.","tv":"TV"}},"loading":"Cargando el plano…","lastEdit":{"byUser":"Última edición por {who} {when}","anonymous":"Última edición {when}"},"status":{"saving":"Guardando…","unsaved":"{count} cambios sin guardar","unsavedOne":"1 cambio sin guardar","saved":"Todo guardado","savedAt":"Guardado {when}","error":"Error al guardar"},"topBar":{"back":"Volver a los planos de sala","untitled":"Plano sin título","save":"Guardar","undoAll":"Deshacer todos los cambios sin guardar","undoAllTitle":"¿Deshacer todos los cambios sin guardar?","undoAllBody":"Se revertirán todos los cambios de esta sesión y se borrará el historial. Después no podrá rehacerlos.","undoAllConfirm":"Deshacer todo"},"toolbar":{"select":"Seleccionar","rectTable":"Mesa rectangular","roundTable":"Mesa redonda","barTable":"Barra / plaza individual","tableDisabled":"Cree primero una zona de sala — cada mesa debe estar asociada a una.","wall":"Pared","wallRound":"Columna (redonda)","text":"Etiqueta de texto","undo":"Deshacer (⌘Z)","redo":"Rehacer (⌘⇧Z)","sections":{"tables":"Mesas","walls":"Paredes","decor":"Decoración"},"decor":{"elements":"Decoración","comingSoon":"próximamente","search":"Buscar decoración…","noResults":"No se ha encontrado nada","placeHint":"Elija un símbolo y luego haga clic en el lienzo para colocarlo."}},"zoom":{"label":"Controles de zoom","out":"Alejar (−)","in":"Acercar (+)","to100":"Tamaño real (0)","fit":"Ajustar","fitTitle":"Ajustar a la pantalla (F)","gridOn":"Mostrar la cuadrícula de alineación (G)","gridOff":"Ocultar la cuadrícula de alineación (G)","zoneOverlayOn":"Mostrar los datos de las mesas — zonas, depósitos (A)","zoneOverlayOff":"Ocultar los datos de las mesas — zonas, depósitos (A)","help":"Atajos de teclado (?)","multiSelect":"Selección múltiple (toque para añadir)"},"shortcutsHelp":{"title":"Atajos de teclado","sections":{"selection":"Selección","tools":"Herramientas","history":"Historial","view":"Vista"},"keys":{"click":"Clic"},"rows":{"select":"Herramienta de selección","addToSelection":"Añadir / quitar de la selección","nudge":"Mover la selección","copy":"Copiar","paste":"Pegar","duplicate":"Duplicar","clear":"Quitar la selección","delete":"Eliminar lo seleccionado","tableTool":"Herramienta Mesa (púlselo otra vez para cambiar de forma)","wallTool":"Herramienta Pared (púlselo otra vez para cambiar de forma)","textTool":"Etiqueta de texto","decorTool":"Selector de elementos (decoración)","save":"Guardar","undo":"Deshacer","redo":"Rehacer","undoAll":"Deshacer todos los cambios sin guardar","zoomIn":"Acercar","zoomOut":"Alejar","zoom100":"Tamaño real","zoomFit":"Ajustar a la pantalla","toggleGrid":"Cuadrícula de alineación","toggleZoneOverlay":"Datos de las mesas","togglePanel":"Contraer / desplegar el panel","help":"Mostrar esta ayuda"}},"rightPanel":{"collapse":"Contraer el panel","expand":"Desplegar el panel","untitled":"Plano sin título","emptyHint":"Seleccione un objeto del lienzo para editarlo.","seatingAreas":"Zonas de sala","areasStub":"La gestión de zonas y colores llegará en la fase 1a.7.","tables":{"title":"Mesas ({n})","row":"Mesa {n}","empty":"Todavía no hay mesas en esta planta. Añada una desde la barra de herramientas de la izquierda.","sortBy":"Ordenar por","sortByNumber":"Por número","sortByArea":"Por zona","reusedActive":"en uso","reusedActiveHint":"Este número ya está en uso en una planta activa — habría conflicto si se activara este borrador."},"areas":{"title":"Zonas de sala ({n})","namePlaceholder":"Nombre de la zona…","duplicate":"Ya existe una zona con este nombre.","saveError":"No se ha podido guardar. Int
1éntelo de nuevo.","deleteError":"No se ha podido eliminar. Inténtelo de nuevo.","serverError":"Error del servidor. Inténtelo más tarde o contacte con soporte.","deleteTitle":"¿Eliminar la zona?","deleteMessage":"¿Quitar «{name}» de la lista de zonas de sala? Las mesas ya asignadas conservan la etiqueta hasta que las reasigne.","color":"Color de la zona"},"tableSettings":"Configuración de la mesa","tableHeader":"Mesa {n}","tableStub":"Número / tamaño / zona / reserva online / mínimo de comensales / depósito / descripción — fase 1a.6.","textSettings":"Configuración del texto","textSubtitle":"Etiqueta de texto","textContent":"Texto","textPlaceholder":"Texto de la etiqueta","textFontFamily":"Fuente","textFontSize":"Tamaño","textAlign":"Alineación","textAlignOption":{"left":"Alinear a la izquierda","center":"Centrar","right":"Alinear a la derecha"},"decorSettings":"Configuración de la decoración","decorShape":{"wall":"Pared","wallRound":"Pared curva","generic":"Elemento decorativo"},"decorStub":"Las propiedades de este elemento aparecerán aquí más adelante.","decorWidth":"Ancho","decorHeight":"Alto","decorRadius":"Radio","decorSize":"Tamaño","decorFill":"Relleno","multiTitle":"{n} objetos seleccionados","delete":"Eliminar","fields":{"number":"Número","numberRequired":"El número es obligatorio.","numberDuplicate":"La mesa «{n}» ya existe en esta planta.","numberActiveDuplicate":"La mesa «{n}» ya está activa en {floor}. Los números deben ser únicos entre las plantas activas.","numberAlsoActive":"También activa en: {floor}","numberAlsoDraft":"También en el borrador: {floor}","seats":"Plazas","seatsHint":"Al cambiarlo se vuelven a dibujar las sillas alrededor de la mesa.","area":"Zona","areaPlaceholder":"Sin asignar","mixed":"Mixto","noAreasYet":"Todavía no hay zonas de sala. Cree una en {link}.","dimensions":"Dimensiones","width":"Ancho","height":"Alto","aspectLock":"Bloquear la proporción","aspectUnlock":"Desbloquear la proporción","diameter":"Diámetro","sizeLocked":"Este tipo de mesa tiene un tamaño fijo.","barStoolLocked":"Los taburetes de barra tienen un tamaño fijo y son para un solo cliente.","reservation":"Reserva","acceptReservations":"Aceptar reservas online","acceptReservationsHint":"Si está desactivado, los clientes n
1o pueden reservar esta mesa desde el widget.","reservable":"Reservable","guestsUnit":"comensales","minCovers":"Mínimo de comensales","deposit":"Depósito","depositPlaceholder":"Opcional","description":"Descripción","descriptionPlaceholder":"Opcional","rotation":"Rotación","numberHasBookings":"Reservas activas en esta mesa: {count}. Renombrarla equivale a eliminarla: esos clientes se quedarán sin mesa."},"multi":{"tabActions":"Acciones","tabSelection":"Selección","tables":"Mesas ({n})","walls":"Paredes ({n})","texts":"Etiquetas de texto ({n})","removeFromSelection":"Quitar de la selección","common":"Común","tablesOnly":"Mesas","wallsOnly":"Paredes","groupRotation":"Rotación del grupo","groupRotationHint":"Gira toda la selección alrededor de su centro.","delete":"Eliminar la selección","area":"Zona","reservable":"Reservable","fill":"Relleno","align":"Alinear","alignLeft":"Alinear los bordes izquierdos","alignCenterH":"Centrar horizontalmente","alignRight":"Alinear los bordes derechos","alignTop":"Alinear los bordes superiores","alignCenterV":"Centrar verticalmente","alignBottom":"Alinear los bordes inferiores","distribute":"Distribuir","distributeH":"Distribuir horizontalmente (3+)","distributeV":"Distribuir verticalmente (3+)"}},"deleteModal":{"title":"¿Eliminar?","titleTable":"¿Eliminar la mesa {n}?","titleWall":"¿Eliminar esta pared?","titleWallRound":"¿Eliminar esta pared curva?","titleText":"¿Eliminar esta etiqueta de texto?","titleMulti":"¿Eliminar los {n} objetos seleccionados?","body":"Esta acción no se puede deshacer.","cancel":"Cancelar","confirm":"Eliminar","bookedWarning":"Mesa {tables} — reservas activas: {count}. Si la elimina, esos clientes se quedan sin mesa. | Mesas con reservas activas: {tables} ({count} en total). Si las elimina, esos clientes se quedan sin mesa."},"rotation":{"label":"Rotación","nudgeLeft":"Girar 45° en sentido antihorario","nudgeRight":"Girar 45° en sentido horario"},"mobile":{"addTitle":"Añadir objeto","addObject":"Añadir objeto","cancelInsert":"Cancelar la colocación","rotateTitle":"Gire su teléfono","rotateBody":"La muesca de la cámara tapa la barra de herramientas. Gire el teléfono al otro lado para acceder a todo."},"reservationConflict":{"title":"Hay clientes en estas mesas","body":"Las mesas de abajo se eliminan o se renombran, pero todavía hay clientes con reserva en ellas. Guarde solo si ya los cambió de mesa o si las reservas se cancelaron.","confirm":"Guardar de todos modos"}}'),k={title:"Acceso de socios",subtitle:"Acceso de soporte — restaurante n.º {id}",subtitleNoId:"Acceso de soporte",submit:"Iniciar sesión",signingIn:"Iniciando sesión…",or:"o",google:"Iniciar sesión con Google",fillAllFields:"Rellene ambos campos.",invalidCredentials:"Correo o contraseña incorrectos.",popupBlocked:"Su navegador ha bloqueado la ventana de inicio de sesión. Permita las ventanas emergentes e inténtelo de nuevo.",tooManyAttempts:"Demasiados intentos. Espere un momento e inténtelo de nuevo.",unauthorizedDomain:"Este dominio no está permitido en los configuración de inicio de sesión. Avise al equipo de Hostme.",signInFailed:"No hemos podido iniciar su sesión. Inténtelo de nuevo.",exchangeFailed:"No se ha podido abrir el restaurante. Inténtelo de nuevo o contacte con el equipo de Hostme.",notAPartner:"Esta cuenta no tiene acceso de socio.",restaurantNotFound:"No se encuentra el restaurante n.º {id}.",noRestaurant:"El enlace no incluye ningún restaurante. Ábralo de nuevo desde el portal de socios.",notConfigured:"El acceso de socios no está configurado en esta versión.",handover:"Iniciando sesión con los datos del portal de socios…",notice:"Va a acceder como soporte al restaurante de otra persona. Todo lo que haga queda registrado a su nombre.",sessionBanner:"Está en el restaurante de otra persona — {name}. Modo soporte, las acciones quedan registradas.",exitMode:"Salir del modo de socio",intentTitle:"Un enlace de soporte",intentBody:"Este enlace abre el restaurante n.º {id} en nombre del soporte. Tu sesión actual no tiene acceso.",intentStay:"Quedarme aquí",intentSignIn:"Entrar c
1omo socio"},H={restaurantTitle:"Se muestra otro restaurante",restaurantBody:"El enlace apuntaba al restaurante n.º {id}, al que esta cuenta no tiene acceso. Estás viendo {name}.",tabTitle:"Esta pestaña no está disponible para ti",tabBody:"El enlace lleva a una pestaña que tu rol no puede abrir, así que abrimos una a la que sí tienes acceso. Si necesitas acceso, pídeselo al propietario del restaurante.",sectionTitle:"Esta página no está disponible para ti",sectionBody:"El enlace lleva a una página que tu rol no puede abrir, así que abrimos el Panel. Si necesitas acceso, pídeselo al propietario del restaurante.",dismiss:"Entendido"},x={article:"Artículo de ayuda"},j={auth:e,nav:a,user:o,profileUnavailable:s,appWelcome:i,languages:n,dashboard:r,profile:t,deleteAccount:l,notifications:d,search:c,subscriptionCancelledBanner:u,common:p,roles:m,imagePicker:g,emailEditor:v,events:b,campaigns:h,triggerEditor:f,reservations:y,pages:C,settings:S,floorTables:P,ordering:T,iconPicker:A,administration:E,integrations:q,guests:D,messaging:R,analytics:N,segments:w,subscription:M,floorBuilder:L,partnerSignIn:k,deepLink:H,help:x};export{E as administration,N as analytics,i as appWelcome,e as auth,h as campaigns,p as common,r as dashboard,H as deepLink,j as default,l as deleteAccount,v as emailEditor,b as events,L as floorBuilder,P as floorTables,D as guests,x as help,A as iconPicker,g as imagePicker,q as integrations,n as languages,R as messaging,a as nav,d as notifications,T as ordering,C as pages,k as partnerSignIn,t as profile,s as profileUnavailable,y as reservations,m as roles,c as search,w as segments,S as settings,M as subscription,u as subscriptionCancelledBanner,f as triggerEditor,o as user};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.