{
  "brand": {
    "tagline": "Encuentra tu instructor de esquí o snowboard"
  },
  "common": {
    "fixMarked": "Revisa lo marcado en rojo.",
    "skipToContent": "Saltar al contenido",
    "language": "Idioma",
    "signIn": "Iniciar sesión",
    "signUp": "Registrarse",
    "loading": "Cargando...",
    "cancel": "Cancelar",
    "close": "Cerrar",
    "save": "Guardar",
    "unsavedChanges": "Tienes cambios sin guardar.",
    "discard": "Descartar",
    "unsavedLeave": "Tienes cambios sin guardar. ¿Salir sin guardarlos?",
    "delete": "Eliminar",
    "back": "Atrás",
    "retry": "Reintentar",
    "select": "Seleccionar",
    "menu": "Menú",
    "openChat": "Abrir chat",
    "viewBooking": "Ver reserva",
    "viewProfile": "Ver perfil",
    "seeAll": "Ver todos",
    "showMore": "Ver más",
    "showLess": "Ver menos",
    "typeToConfirm": "Escribe {phrase} para confirmar",
    "saving": "Guardando…",
    "emailDidYouMean": "¿Quisiste decir {email}?",
    "optional": "Opcional"
  },
  "nav": {
    "findInstructor": "Buscar instructor",
    "countries": "Por país",
    "resorts": "Estaciones",
    "howItWorks": "Cómo funciona",
    "becomeInstructor": "Hazte instructor",
    "registerSchool": "Registrar mi escuela",
    "dashboard": "Panel",
    "bookings": "Reservas",
    "requests": "Solicitudes",
    "calendar": "Calendario",
    "messages": "Mensajes",
    "favourites": "Favoritos",
    "earnings": "Ingresos",
    "invoices": "Facturas",
    "profile": "Perfil",
    "notifications": "Notificaciones",
    "settings": "Configuración",
    "admin": "Admin",
    "finances": "Finanzas",
    "schoolInstructors": "Instructores",
    "previewPage": "Ver mi página",
    "privateLessons": "Clases privadas",
    "groupLessons": "Clases grupales",
    "equipmentRental": "Alquiler de material",
    "connections": "Conexiones"
  },
  "registration": {
    "question": "Primero, dinos quién eres",
    "kind": {
      "instructor": "Soy instructor independiente",
      "instructorBody": "Tu propio perfil, tus tarifas y tu calendario.",
      "school": "Quiero registrar mi escuela",
      "schoolBody": "Da de alta la escuela y luego invita a tus instructores por email."
    },
    "heardFrom": {
      "instagram": "Instagram",
      "google": "Google",
      "email": "Un email de Alpine Pal",
      "phone": "Una llamada de Alpine Pal",
      "other": "Otro",
      "instructor": "Me invitó un instructor"
    },
    "heardFromOtherLabel": "¿Dónde? (opcional)",
    "heardFromOtherPlaceholder": "Boca a boca, una feria, otra web…",
    "conflictTitle": "Una cuenta, un rol",
    "signOutForSchool": "Cerrar sesión y crear una cuenta de escuela",
    "signOutForInstructor": "Cerrar sesión y crear una cuenta de instructor"
  },
  "view": {
    "label": "Ver la app como",
    "admin": "Administrador",
    "instructor": "Instructor",
    "customer": "Alumno",
    "school": "Escuela"
  },
  "home": {
    "heroTitle": "Encuentra tu instructor de esquí o snowboard",
    "heroSubtitle": "Reserva instructores verificados, independientes o de escuela, en las mejores estaciones del mundo. Paga con seguridad, chatea al instante, esquía con confianza.",
    "popularResorts": "Estaciones populares",
    "featuredInstructors": "Instructores destacados",
    "featuredSchools": "Escuelas de esquí destacadas",
    "howTitle": "Cómo funciona Alpine Pal",
    "how1Title": "Busca y compara",
    "how1Body": "Filtra instructores por estación, idioma, disciplina, precio y disponibilidad.",
    "how2Title": "Reserva y paga con seguridad",
    "how2Body": "Envía una solicitud de reserva pagada. Se te devolverá el importe si no es aceptada.",
    "how3Title": "Chatea y quedad en la pista",
    "how3Body": "Escríbele al instructor de inmediato, acordad un punto de encuentro y disfruta de tu clase.",
    "whyTitle": "Por qué reservar con Alpine Pal",
    "why1": "Instructores verificados, independientes o de escuela",
    "why2": "Reembolso completo si tu instructor no acepta",
    "why3": "Horario local de cada estación",
    "why4": "Soporte en tu idioma",
    "ctaTitle": "¿Eres instructor certificado?",
    "ctaBody": "Únete a Alpine Pal y llega a clientes internacionales toda la temporada. Recibe el 90% del precio de la clase.",
    "ctaButton": "Hazte instructor"
  },
  "hiw": {
    "title": "Cómo funciona Alpine Pal",
    "subtitle": "Desde encontrar al instructor adecuado hasta quedar con él en la pista: reservar una clase son solo tres pasos.",
    "ctaTitle": "¿Listo para lanzarte a la nieve?",
    "ctaBody": "Encuentra un instructor verificado en tu estación y reserva tu primera clase en minutos.",
    "ctaSearch": "Buscar instructor"
  },
  "privateLessons": {
    "faqTitle": "Preguntas que se hacen antes de reservar",
    "ctaTitle": "Encuentra instructor en tu estación",
    "ctaBody": "Filtra por estación, fecha, disciplina e idioma, lee los perfiles y escribe al que te encaje antes de reservar nada.",
    "ctaButton": "Ver instructores",
    "navLabel": "Clases particulares",
    "moreLink": "Qué incluye una clase particular y cómo funciona la reserva"
  },
  "becomeInstr": {
    "stepsTitle": "Cómo funciona",
    "step1Title": "Crea tu perfil",
    "step1Body": "Cuéntanos tu experiencia, certificaciones, idiomas y las estaciones donde trabajas. Comprobamos a cada instructor independiente antes de publicarlo; de los de una escuela responde su escuela.",
    "step2Title": "Configura tarifas y disponibilidad",
    "step2Body": "Elige tu precio por hora y el tamaño de los grupos, y abre solo las horas en las que quieres dar clase.",
    "step3Title": "Recibe reservas y cobra",
    "step3Body": "Los clientes pagan por adelantado al enviar una solicitud. Acepta las que te convengan y quédate con el 90% del precio de la clase.",
    "benefitsTitle": "Por qué enseñar con Alpine Pal",
    "benefit1Title": "Clientes internacionales",
    "benefit1Body": "Alumnos de todo el mundo te encuentran, sin marketing ni agencias.",
    "benefit2Title": "Tu calendario, tus reglas",
    "benefit2Body": "Tú decides cuándo, dónde y cuánto enseñas. Acepta o rechaza cada solicitud.",
    "benefit3Title": "Pagos seguros",
    "benefit3Body": "Las clases se pagan por adelantado: nunca más perseguir un cobro.",
    "benefit4Title": "Chat integrado",
    "benefit4Body": "Coordina puntos de encuentro y detalles de la clase con tus clientes en un solo lugar.",
    "ctaTitle": "¿Te unes?",
    "ctaBody": "Crea tu cuenta y empieza a construir tu perfil de instructor hoy mismo.",
    "ctaButton": "Crear cuenta",
    "ctaSignIn": "Ya tengo cuenta",
    "ctaSchoolLink": "¿Eres una escuela de esquí?",
    "ctaSchoolLinkCta": "Regístrala aquí",
    "schoolCannotApply": "Esta cuenta gestiona una escuela de esquí. Un perfil de instructor va en su propia cuenta — regístrate con otro email para solicitarlo.",
    "applyTitle": "Solicita ser instructor",
    "applySubtitle": "Cuéntanos sobre ti. Nuestro equipo revisa cada solicitud antes de publicar tu perfil.",
    "applyTitleSchool": "Completa tu perfil para {school}",
    "applySubtitleSchool": "Cuéntanos sobre ti. Tu perfil se publica en cuanto lo envíes, respaldado por {school}.",
    "schoolSetsPrice": "Tu tarifa por hora la fija {school} — viene en la invitación, y la escuela puede ajustarla después.",
    "schoolSetsFormats": "Venderás con las franjas, temporadas y precios de {school}: los pone la escuela y cambian cuando ella los cambia.",
    "schoolRunsCalendar": "{school} lleva tu calendario y tus solicitudes, con sus horas abiertas; puede cedértelo más adelante.",
    "kindLabel": "¿Cómo quieres ofrecerte?",
    "kind": {
      "certified": "Instructor titulado independiente",
      "certifiedBody": "Tienes una titulación oficial que te habilita para dar clases (técnico deportivo, BASI, ISIA, PSIA…) y trabajas por tu cuenta.",
      "enthusiast": "Acompañante",
      "enthusiastBody": "Sin titulación: acompañas en la montaña y compartes tu experiencia, sin impartir clases.",
      "school": "Instructor de escuela de esquí",
      "schoolBody": "Estás titulado y das clases para una escuela de esquí que trabaja con Alpine Pal."
    },
    "countryFirst": "Elige tu país para ver cómo puedes darte de alta.",
    "schoolInviteNotice": "Los instructores de escuela se dan de alta con la invitación que su escuela les envía por email — aquí no hay formulario que rellenar. Pide a tu escuela que te invite desde su panel de Alpine Pal.",
    "schoolInviteCta": "¿Tu escuela aún no está en Alpine Pal? Háblales de nosotros",
    "draftRestored": "Hemos recuperado lo que dejaste a medias.",
    "draftDiscard": "Empezar de cero",
    "kindGate": "Elige una opción para ver el resto del formulario.",
    "kindCertifiedNote": "Podrás añadir tus titulaciones desde tu perfil cuando te aprobemos.",
    "kindEnthusiastNote": "Importante: en muchos países dar clases de esquí a cambio de dinero exige titulación oficial. Como acompañante te comprometes a no impartir clases y a cumplir la normativa de tu estación.",
    "bioLabel": "Sobre ti",
    "bioPlaceholder": "Tu experiencia, certificaciones y estilo de enseñanza.",
    "bioTranslateHint": "Escríbela en el idioma que prefieras. La traducimos automáticamente a los demás idiomas del sitio.",
    "resortsLabel": "¿Dónde das clase?",
    "resortsHint": "Elige un país y selecciona una o más estaciones. La primera define tu moneda.",
    "languagesLabel": "Idiomas de enseñanza",
    "dobLabel": "Fecha de nacimiento",
    "dobHint": "En tu ficha solo se muestra tu edad, nunca la fecha. Para darte de alta como instructor tienes que ser mayor de edad.",
    "yearsLabel": "Años de experiencia",
    "priceLabel": "Precio por hora",
    "extraStudentLabel": "Precio por alumno extra",
    "groupSetupNow": "Configurar ahora los precios de clases grupales",
    "groupSetupHint": "Opcional. Si no lo marcas, podrás activar las clases grupales más adelante en Clases grupales, en tu panel.",
    "submit": "Enviar solicitud",
    "submitted": "¡Solicitud enviada!",
    "missingName": "Añade tu nombre",
    "missingDob": "Indica tu fecha de nacimiento",
    "tooYoung": "Para darte de alta como instructor tienes que tener al menos {min} años",
    "dobInvalid": "Esa fecha de nacimiento no es válida",
    "missingBio": "Escribe una biografía breve",
    "missingResorts": "Elige al menos una estación",
    "missingLanguages": "Elige al menos un idioma",
    "missingLicence": "En tu país es obligatorio el número de licencia",
    "missingTitle": "Sube tu título o indica su número",
    "heardFromLabel": "¿Cómo conociste Alpine Pal?",
    "missingHeardFrom": "Dinos cómo conociste Alpine Pal",
    "missingTerms": "Acepta los términos",
    "goToDashboard": "Ir a tu panel de instructor",
    "status": {
      "pendingTitle": "Solicitud en revisión",
      "pendingBody": "¡Gracias! Nuestro equipo está revisando tu perfil. Lo publicaremos en cuanto pase la revisión y te avisaremos por email.",
      "pendingNextStep": "Mientras tanto, configura tu calendario: tu perfil aún no tiene horas de clase y nadie puede reservarte hasta que abras alguna.",
      "verifiedTitle": "Eres instructor verificado",
      "verifiedBody": "Tu perfil está publicado. Gestiona tus tarifas, calendario y solicitudes desde tu panel.",
      "rejectedTitle": "Solicitud no aprobada",
      "rejectedBody": "Tu solicitud no ha sido aprobada esta vez. Contacta con soporte si crees que es un error."
    },
    "companionBlocked": "Dar clase a cambio de dinero en {countries} exige titulación oficial, así que la opción de acompañante no está disponible allí.",
    "credentialTitle": "Tu titulación",
    "credentialRequired": "Para dar clase en {countries} necesitas el {credential}. Danos el número y lo comprobamos en el registro oficial antes de publicar tu perfil.",
    "credentialRequiredTitle": "Para dar clase en {countries} necesitas el {credential}. No hace falta número de licencia: sube una foto o un PDF del título y lo comprobamos antes de publicar tu perfil.",
    "credentialSchoolVouches": "{school} responde de ti para dar clase en pista en {countries}, así que el título no es obligatorio. Si lo tienes, súbelo: saldrá en tu perfil, y lo necesitas para dar clase fuera de pista o por tu cuenta.",
    "credentialOptional": "En los países que has elegido no hace falta licencia legal. Si tienes una certificación, dínosla y podemos verificarla: tu perfil la mostrará como verificada.",
    "licenceNumber": "Número de licencia o colegiado",
    "titleNumber": "Número del título (si lo tiene)",
    "credentialName": "Nombre de la titulación",
    "credentialIssuer": "Emitida por",
    "credentialYear": "Año de obtención",
    "credentialDocument": "Documento acreditativo (opcional)",
    "credentialDocumentTitle": "Foto o PDF del título",
    "credentialDocumentHint": "PDF o foto, máximo 8 MB. Solo puedes abrirlo tú y quien lo revise. Lo conservamos como prueba de la comprobación.",
    "credentialUploaded": "Documento en ficha",
    "credentialAttached": "Documento subido",
    "credentialNotSavedYet": "Aún no está guardado: completa los datos de la certificación y pulsa el botón de abajo.",
    "credentialUpload": "Subir documento",
    "credentialReplace": "Reemplazar documento",
    "acceptResponsibility": "Confirmo que tener en vigor la titulación, la licencia y el seguro que exigen las estaciones que he elegido es responsabilidad mía, que la documentación que aporto es auténtica, y que acepto los",
    "acceptResponsibilityCompanion": "Confirmo que no impartiré clases ni me presentaré como instructor titulado, que tener el seguro que exijan las estaciones que he elegido es responsabilidad mía, y que acepto los",
    "specialtiesHint": "Opcional. Marca lo que mejor te describa: es lo que el cliente ve en tu ficha para saber si encajas con lo que busca.",
    "offPisteNeedsTitle": "En {countries}, «Fuera de pista», «Freeride» y «Big mountain» necesitan tu propio título: añádelo para poder marcarlos.",
    "credentialExpiry": "Fecha de caducidad",
    "credentialNeverExpires": "Esta titulación no caduca",
    "missingExpiry": "Indica la fecha de caducidad, o marca que no caduca",
    "reapply": "Solicitar una nueva revisión",
    "reapplyBody": "Corrige desde tu perfil lo que estuviera mal —la titulación, el número de licencia, el documento— y pídenos que lo miremos otra vez.",
    "reapplied": "Enviado. Lo revisaremos de nuevo.",
    "faqTitle": "Preguntas que hacen los instructores",
    "moreTitle": "Más sobre dar clase con Alpine Pal:",
    "moreCountries": "qué exige cada país",
    "priceTooLow": "Es demasiado bajo para poder cobrarlo: el mínimo son {min} {currency} por hora.",
    "groupPriceTooLow": "Es demasiado bajo para poder cobrarlo: el mínimo son {min} {currency} por persona.",
    "missingPrice": "Sube tu precio por hora hasta el mínimo"
  },
  "search": {
    "title": "Buscar instructor",
    "country": "País",
    "resort": "Estación",
    "selectCountryFirst": "Selecciona primero un país",
    "selectDateFirst": "Elige primero una fecha",
    "maxPricePerHour": "Hasta {price}/h",
    "allCountries": "Todos los países",
    "allResorts": "Todas las estaciones",
    "date": "Fecha",
    "startTime": "Hora de inicio",
    "duration": "Duración",
    "durationHours": "{hours} h",
    "discipline": "Disciplina",
    "ski": "Esquí",
    "snowboard": "Snowboard",
    "both": "Esquí y snowboard",
    "language": "Idioma de la clase",
    "anyLanguage": "Cualquier idioma",
    "students": "Número de alumnos",
    "cta": "Buscar instructor",
    "resultsCount": "{count} resultados",
    "resultsCountOne": "1 resultado",
    "noResults": "No hay clases que coincidan con tus filtros.",
    "noResultsHint": "Prueba a cambiar la estación, el idioma o la fecha.",
    "lessonType": "Tipo de clase",
    "lessonTypeAny": "Particulares y en grupo",
    "lessonTypePrivate": "Particulares",
    "lessonTypeGroup": "En grupo",
    "groupsTitle": "Clases en grupo",
    "priceFrom": "desde {price}",
    "schoolBadge": "Escuela",
    "schoolAssigns": "La escuela asigna al instructor de tu clase.",
    "schoolBook": "Reservar con la escuela",
    "filters": "Filtros",
    "clearFilters": "Borrar filtros",
    "nameFilter": "Nombre: {name}",
    "nameFilterClear": "Quitar el nombre",
    "priceRange": "Rango de precio",
    "minRating": "Valoración mínima",
    "minExperience": "Años de experiencia mínimos",
    "instructorKind": "Tipo de instructor",
    "anyKind": "Cualquiera",
    "sort": "Ordenar por",
    "sortRecommended": "Recomendados",
    "sortHighestRated": "Mejor valorados",
    "sortMostExperienced": "Más experiencia",
    "sortLowestPrice": "Menor precio",
    "sortHighestPrice": "Mayor precio",
    "sortMostReviewed": "Más reseñas",
    "sortFastestResponse": "Respuesta más rápida",
    "selectInstructor": "Seleccionar",
    "nextAvailable": "Próxima disponibilidad",
    "perHour": "/hora",
    "years": "{years} años",
    "reviews": "{count} reseñas",
    "rankingNotice": "El orden «Recomendados» puede verse influido por la comisión que pagan algunas escuelas e instructores.",
    "rankingLink": "Cómo ordenamos los resultados"
  },
  "resort": {
    "localTimeNotice": "Todos los horarios se muestran según la hora local de la estación.",
    "featuredInstructors": "Instructores destacados en {resort}",
    "noInstructorsTitle": "Aún no hay instructores disponibles en esta estación",
    "noInstructorsBody": "De momento nadie ofrece clases aquí: prueba una estación cercana o vuelve a mirar pronto.",
    "comingSoonTitle": "Pronto, nuevos instructores en {resort}",
    "comingSoonBodyOne": "{school} se ha unido a Alpine Pal y está dando de alta a sus instructores. Mientras tanto, puedes contactar con la escuela desde su página.",
    "comingSoonBodyMany": "Estas escuelas se han unido a Alpine Pal y están dando de alta a sus instructores. Mientras tanto, puedes contactar con ellas desde su página.",
    "schoolsBookableTitle": "Reserva con una escuela de esquí en {resort}",
    "schoolsBookableBody": "Aquí aún no hay instructores con perfil propio, pero ya puedes reservar con la escuela, que asigna al instructor.",
    "schoolView": "Ver la escuela",
    "schoolBook": "Reservar clase",
    "groupLessonsTitle": "Clases grupales en {resort}",
    "groupLessonsIntro": "Aprende con otras personas de nivel parecido: cada una reserva y paga su plaza. La próxima fecha de cada clase:",
    "groupLessonWith": "con {name}",
    "schoolSeatsTitle": "O reserva con una escuela",
    "schoolSeatsIntro": "Estas escuelas venden clases en {resort} sin decir quién las dará: reservas con la escuela y ella asigna a un instructor de su equipo.",
    "instructorCtaTitle": "¿Das clases en {resort}?",
    "instructorCtaTitleGeneric": "¿Eres instructor por esta zona?",
    "instructorCtaBody": "Únete a Alpine Pal, publica tu perfil y llega a los clientes que ya buscan clases justo aquí.",
    "areas": "Zonas de la estación",
    "meetingPoints": "Puntos de encuentro sugeridos",
    "searchAt": "Buscar instructor en {resort}",
    "filterPlaceholder": "Busca por nombre, región o país…",
    "countResorts": "{n} estaciones",
    "showAll": "Ver las {n} restantes",
    "showLess": "Ver menos",
    "noResults": "Ninguna estación coincide con tu búsqueda.",
    "factRegion": "Región",
    "factCountry": "País",
    "factTimeZone": "Hora local",
    "factCurrency": "Moneda",
    "factInstructors": "Instructores aquí",
    "factFrom": "Clases desde",
    "factOpened": "Apertura",
    "lessonsTitle": "Dónde empiezan las clases",
    "gettingThereTitle": "Cómo llegar",
    "goodForTitle": "Encaja sobre todo con",
    "nearbyTitle": "Otras estaciones cerca",
    "faqTitle": "{resort}: preguntas frecuentes",
    "mapLink": "Verla en el mapa",
    "officialSite": "Web oficial de la estación",
    "ctaTitle": "Reserva una clase en {resort}",
    "ctaBody": "Compara instructores que dan clase aquí, escríbeles antes de comprometerte y paga de forma segura a través de la plataforma.",
    "aboutTitle": "Sobre {resort}",
    "audienceBeginners": "Principiantes",
    "audienceFamilies": "Familias",
    "audienceIntermediates": "Nivel intermedio",
    "audienceAdvanced": "Esquiadores avanzados",
    "audienceFreeride": "Fuera de pista y freeride",
    "audienceSnowboard": "Snowboard",
    "audienceNightskiing": "Esquí nocturno",
    "audienceCrosscountry": "Esquí de fondo"
  },
  "countries": {
    "ES": "España",
    "AD": "Andorra",
    "FR": "Francia",
    "IT": "Italia",
    "DE": "Alemania",
    "AR": "Argentina",
    "CL": "Chile",
    "CH": "Suiza",
    "AT": "Austria",
    "PL": "Polonia",
    "BG": "Bulgaria",
    "US": "Estados Unidos",
    "CA": "Canadá",
    "JP": "Japón",
    "NZ": "Nueva Zelanda",
    "MC": "Mónaco"
  },
  "country": {
    "hubTitle": "Instructores de esquí y snowboard por país",
    "hubShort": "Por país",
    "hubIntro": "Cada país se esquía distinto: el terreno, la temporada, el precio de una clase e incluso lo que la ley le exige a un instructor cambian al cruzar una frontera. Elige un país para ver sus estaciones, sus instructores y lo que conviene saber antes de reservar.",
    "breadcrumbHome": "Inicio",
    "searchCta": "Buscar instructores en {country}",
    "browseAll": "Ver todos los instructores",
    "factResorts": "Estaciones",
    "factSeason": "Temporada",
    "factCurrency": "Moneda",
    "factFrom": "Clases desde",
    "factLanguages": "Idiomas de clase",
    "perHour": "{price} / hora",
    "terrainTitle": "El terreno",
    "seasonTitle": "Cuándo ir",
    "instructorsTitle": "Instructores en {country}",
    "instructorsEmpty": "Todavía no se ha dado de alta ningún instructor en {country}. Los vamos añadiendo estación por estación: si das clase aquí, es un buen momento para ser el primero.",
    "instructorsEmptyCta": "Hazte instructor",
    "resortsTitle": "Estaciones de esquí en {country}",
    "credentialsTitle": "Titulación exigida en {country}",
    "credentialsRequired": "Enseñar esquí o snowboard a cambio de dinero en {country} es una profesión regulada: el instructor debe tener {credential}. Los instructores que figuran como certificados en Alpine Pal o bien nos han enviado la suya para revisión, o bien están respaldados por la escuela de esquí que les invitó.",
    "credentialsNotRequired": "{country} no tiene licencia estatal de enseñanza. El estándar profesional es {credential}, y Alpine Pal muestra lo que tiene realmente cada instructor para que puedas valorarlo tú.",
    "credentialsName": "Titulación",
    "credentialsIssuer": "Expedida por",
    "credentialsRegister": "Registro público:",
    "credentialsDisclaimer": "Esto es un resumen orientativo, no asesoramiento legal. El instructor sigue siendo responsable de tener una titulación válida.",
    "faqTitle": "Esquiar en {country}: preguntas frecuentes",
    "relatedTitle": "Países cercanos",
    "ctaTitle": "¿Listo para reservar en {country}?",
    "ctaBody": "Compara instructores, escríbeles antes de comprometerte y paga de forma segura a través de la plataforma.",
    "ctaButton": "Buscar instructor",
    "onThisPage": "En esta página",
    "navGuide": "La guía",
    "navInstructors": "Instructores",
    "navResorts": "Estaciones",
    "navQualifications": "Titulación",
    "navFaq": "Preguntas",
    "availableTitle": "Dónde puedes reservar ahora mismo",
    "availableIntro": "Estaciones de {country} con al menos un instructor aceptando reservas hoy en Alpine Pal.",
    "tableResort": "Estación",
    "tableRegion": "Región",
    "tableInstructors": "Instructores",
    "tableFrom": "Desde",
    "guideTitle": "Esquiar en {country}"
  },
  "instructor": {
    "verified": "Verificado",
    "identityVerified": "Identidad verificada",
    "certificationsVerified": "Certificaciones verificadas",
    "age": "{age} años",
    "yearsExperience": "años de experiencia",
    "completedLessons": "clases impartidas",
    "responseRate": "Tasa de respuesta",
    "averageResponse": "Respuesta media",
    "instantConfirmation": "Confirmación inmediata",
    "biography": "Sobre mí",
    "specialties": "Especialidades",
    "resorts": "Estaciones",
    "languages": "Idiomas",
    "certifications": "Certificaciones",
    "pricing": "Tarifas",
    "extraStudentPrice": "Por alumno extra",
    "perExtraStudent": "por alumno extra y hora",
    "perExtraStudentLesson": "por alumno extra y clase",
    "reviews": "Reseñas",
    "book": "Reservar clase",
    "favourite": "Añadir a favoritos",
    "favourited": "En tus favoritos",
    "sendMessage": "Enviar mensaje",
    "kind": {
      "certified": "Instructor titulado",
      "enthusiast": "Acompañante"
    },
    "kindBadge": {
      "certified": {
        "male": "Instructor titulado",
        "female": "Instructora titulada",
        "unspecified": "Con titulación oficial"
      }
    },
    "newBadge": {
      "male": "Nuevo",
      "female": "Nueva",
      "unspecified": "Perfil nuevo",
      "school": "Nueva"
    },
    "noReviewsYet": "Sin reseñas todavía",
    "verifiedBadge": {
      "male": "Verificado",
      "female": "Verificada",
      "unspecified": "Perfil verificado"
    },
    "verifiedBySchool": {
      "male": "Verificado por su escuela",
      "female": "Verificada por su escuela",
      "unspecified": "Perfil verificado por su escuela"
    },
    "genderLabel": "Género",
    "gender": {
      "male": "Hombre",
      "female": "Mujer",
      "unspecified": "Prefiero no decirlo"
    },
    "certificationsDeclared": "Declarado por el instructor, aún sin verificar por nosotros",
    "certificationsSchoolBacked": "Respaldadas por {school}, la escuela que le invitó",
    "noCertifications": "Todavía no consta ninguna titulación.",
    "certExpired": "Caducada",
    "certExpiredWarning": "Una de tus titulaciones ha caducado. Sube la renovada para que tu perfil muestre una titulación en vigor.",
    "freeCancellation": "Cancelación gratuita hasta {window} antes de la clase"
  },
  "bio": {
    "machineFrom": {
      "en": "Traducción automática del inglés",
      "es": "Traducción automática del español",
      "it": "Traducción automática del italiano",
      "fr": "Traducción automática del francés",
      "de": "Traducción automática del alemán",
      "pl": "Traducción automática del polaco",
      "nl": "Traducción automática del neerlandés",
      "ru": "Traducción automática del ruso"
    },
    "originalIn": {
      "en": "Escrita en inglés — todavía sin versión en español",
      "es": "Escrita en español — todavía sin otra versión",
      "it": "Escrita en italiano — todavía sin versión en español",
      "fr": "Escrita en francés — todavía sin versión en español",
      "de": "Escrita en alemán — todavía sin versión en español",
      "pl": "Escrita en polaco — todavía sin versión en español",
      "nl": "Escrita en neerlandés — todavía sin versión en español",
      "ru": "Escrita en ruso — todavía sin versión en español"
    },
    "sourceLabel": "Idioma en el que escribes",
    "sourceHelp": "Escribe tu biografía una sola vez, en tu idioma. Nosotros la traducimos a los demás idiomas del sitio.",
    "originalLabel": "Tu biografía ({language})",
    "translationsTitle": "Traducciones",
    "translationsHelp": "Se generan solas al guardar. Edita la que quieras si prefieres decirlo con tus palabras.",
    "chooseLanguage": "Idioma que quieres ver o editar",
    "auto": "Automática",
    "yours": "Tu versión",
    "pending": "Sin traducir todavía",
    "willUpdate": "Se regenerará al guardar.",
    "keptOnEdit": "Esta la escribiste tú, así que se queda como está.",
    "edit": "Editar",
    "restoreAuto": "Usar la traducción automática",
    "close": "Cerrar"
  },
  "favourites": {
    "empty": "Aún no tienes instructores favoritos. Toca el corazón en el perfil de un instructor para guardarlo aquí.",
    "remove": "Quitar"
  },
  "settings": {
    "photoAlsoPublic": "Esta es también la foto de tu perfil público de instructor.",
    "title": "Configuración de la cuenta",
    "subtitle": "Tus datos personales y preferencias.",
    "firstName": "Nombre",
    "lastName": "Apellidos",
    "email": "Email",
    "country": "País",
    "preferredLanguage": "Idioma preferido",
    "maxStudents": "Máx. alumnos por clase",
    "privateLessons": "Clases privadas",
    "groupLessons": "Clases grupales",
    "groupEnabled": "Ofrecer clases grupales",
    "groupEnabledHelp": "Desactivadas por defecto. Al activarlas podrás publicar clases grupales desde tu calendario; las clases nuevas toman el precio de abajo.",
    "groupPrice": "Precio por persona",
    "groupPriceHelp": "Por plaza, para la clase entera. Al cambiarlo se actualizan también las clases grupales que ya tengas publicadas.",
    "minNotice": "Antelación mínima de reserva",
    "minNoticeHelp": "Los clientes solo verán tus horas libres si reservan con esta antelación o más.",
    "autoAccept": "Confirmación inmediata",
    "autoAcceptHelp": "Las reservas pagadas se confirman al momento, sin esperar a que las aceptes. Sigues pudiendo cancelar una clase confirmada, con reembolso íntegro al cliente.",
    "disciplineHelp": "Es por lo que filtran los clientes: si empiezas a dar la otra, cámbialo aquí.",
    "noticeNone": "Sin antelación mínima",
    "noticeHours": "Al menos {n} horas antes",
    "saved": "Cambios guardados",
    "cancellationWindow": "Política de cancelación",
    "cancellationOption": "Gratis hasta {window} antes",
    "cancellationOptionDefault": "Gratis hasta {window} antes (por defecto)",
    "cancellationWindowHelp": "Una vez confirmada una clase, el cliente puede cancelarla con reembolso completo hasta este tiempo antes de que empiece; después, no hay reembolso. Vale para tus clases privadas y grupales, y el cliente la ve en tu perfil y antes de pagar. Las reservas ya hechas conservan la política con la que se hicieron.",
    "cancellationBySchool": "La fija tu escuela: cancelación gratuita hasta {window} antes de la clase."
  },
  "lessonsPage": {
    "noGroupLessons": "Sin clases grupales",
    "movedInstructor": "Los precios, los alumnos, la antelación y la confirmación inmediata están ahora en",
    "privateTitle": "Clases privadas",
    "groupTitle": "Clases grupales",
    "privateIntro": "Clases para un cliente y su grupo, sin mezclar desconocidos. Aquí decides cómo las vendes, a qué precio y en qué horas.",
    "privateIntroSchool": "Las clases privadas que vende la escuela sin decir quién las dará: publicas las horas, el cliente reserva y paga, y asignas el profesor cuando quieras. Elige arriba a un instructor para ver las suyas.",
    "privateIntroPerson": "Las clases privadas de este instructor: sus tarifas y su calendario. Si la escuela gestiona su calendario, lo editas aquí.",
    "groupIntro": "Clases con plazas sueltas: cada persona reserva y paga la suya, y comparten la misma clase. Actívalas, pon el precio por persona y publícalas en el calendario.",
    "groupIntroSchool": "Las clases grupales que publica la escuela: el precio por persona, las plazas, el nivel y el punto de encuentro se ponen al publicar cada una, y luego puedes asignarla a un instructor de la plantilla.",
    "groupIntroPerson": "Las clases grupales de este instructor: su precio por persona y su calendario. Si la escuela gestiona su calendario, las publicas aquí.",
    "resortPick": "Estación",
    "resortCopyFrom": "Copiar de otra estación",
    "resortHint": "Todo lo de abajo es solo para esta estación: cómo se venden las clases, los precios y el calendario.",
    "resortOwn": "Esta estación tiene su propia configuración.",
    "resortShared": "Aún usa la configuración común de la escuela; lo que guardes aquí solo cambiará esta estación.",
    "resortCopied": "Copiado de {resort}: precios y condiciones, no el calendario. Revísalo y pulsa Guardar.",
    "whose": "Mostrar",
    "howTitle": "Cómo se venden",
    "modeHoursTitle": "Por horas",
    "modeHoursBody": "El cliente elige a qué hora empieza y cuántas horas quiere. Tú pones un precio por hora.",
    "modeFormatsTitle": "Por franjas fijas",
    "modeFormatsBody": "Horarios cerrados (mañana, tarde, día completo…), cada uno con su precio para todo el grupo, que puede cambiar según la temporada.",
    "modeHoursPicture": "Ejemplo: horas abiertas de 9:00 a 17:00 y un cliente que reserva dos",
    "modeFormatsPicture": "Ejemplo: clase de mañana de 9:00 a 13:00, de tarde de 13:00 a 17:00 y día completo de 9:00 a 17:00",
    "modeNote": "Puedes cambiar cuando quieras: lo que pusiste en la otra forma se guarda por si vuelves.",
    "rosterModeNote": "Decides tú aquí cómo vende cada instructor y a qué precio; sus clases grupales, en Clases grupales.",
    "rosterNoticeHelp": "Los clientes solo verán sus horas libres si reservan con esta antelación o más.",
    "rosterAutoAcceptHelp": "Las reservas pagadas se confirman al momento, sin esperar a que la escuela las acepte. Sigues pudiendo cancelar una clase confirmada, con reembolso íntegro al cliente.",
    "rosterTermsByInstructor": "El máximo de alumnos, la antelación mínima y la confirmación inmediata los decide el instructor, porque gestiona su propio calendario. Si lo gestiona la escuela (Gestionado por, en Instructores), se ajustan aquí.",
    "rosterGroupHelp": "Desactivadas por defecto. Al activarlas se pueden publicar sus clases grupales en el calendario de abajo. El precio es por plaza, para la clase entera; al cambiarlo se actualizan también las ya publicadas.",
    "followSchoolHours": "Usar las horas abiertas de la escuela",
    "followSchoolHoursOn": "Su calendario tiene las mismas horas abiertas que las clases sin instructor asignado, en las estaciones donde da clase, y cambia solo cuando cambian. Admite una clase a la vez. Apágalo para darle horas propias: empieza con las de ahora.",
    "followSchoolHoursOff": "Al activarlo, sus horas abiertas pasan a ser las de las clases sin instructor asignado y cambian solas con ellas.",
    "calendarFollowsSchool": "Son las horas abiertas de la escuela. Se cambian en el calendario de «Clases sin instructor asignado», o apaga «Usar las horas abiertas de la escuela» para darle horas propias.",
    "instructorModeBySchool": "Cómo vendes tus clases privadas, y a qué precio, lo decide tu escuela.",
    "instructorFollowsSchool": "Vendes con las franjas y precios de tu escuela: cambian cuando la escuela cambia los suyos.",
    "paramsHoursTitle": "Precio y condiciones",
    "paramsFormatsTitle": "Franjas, temporadas y precios",
    "calendarTitle": "Calendario",
    "calendarHoursHint": "Las horas en que se pueden reservar. Si hay clases grupales, salen rayadas: se gestionan en Clases grupales.",
    "calendarFormatsHint": "Las franjas solo se venden dentro de las horas abiertas aquí: abre al menos las horas de cada franja. Si hay clases grupales, salen rayadas: se gestionan en Clases grupales.",
    "calendarGroupHint": "En verde claro, las horas abiertas para clases privadas; una clase grupal publicada encima ocupa esas horas.",
    "calendarGroupSeatHint": "Las clases grupales van aparte de las plazas de las clases privadas. Desde cada clase puedes asignarla a un instructor.",
    "groupSettingsTitle": "Activar y poner precio",
    "groupPriceTitle": "Precio por persona",
    "groupOffNotice": "Las clases grupales están desactivadas: actívalas en el paso 1, ponles precio y guarda para poder publicarlas.",
    "notOnSaleNotice": "Todavía no se vende nada aquí: el paso 2 dice qué falta. Mientras, ya puedes ir abriendo las horas.",
    "cancellationChange": "Cámbiala en Perfil"
  },
  "booking": {
    "reviewAndPay": "Ver resumen y pagar",
    "checkout": "Pago",
    "summary": "Resumen de la reserva",
    "instructor": "Instructor",
    "resort": "Estación",
    "date": "Fecha",
    "time": "Hora",
    "duration": "Duración",
    "language": "Idioma",
    "students": "Alumnos",
    "oneGroupNote": "Esta escuela pone un monitor por nivel y por edad: todos los alumnos de una reserva tienen que tener el mismo nivel y la misma edad (adultos o niños).",
    "oneGroupMixed": "Estos alumnos mezclan niveles o edades. Haz una reserva para cada grupo: vuelve y reserva solo a los del mismo nivel y la misma edad.",
    "oneGroupBack": "Cambiar el número de alumnos",
    "studentN": "Alumno {n}",
    "studentName": "Nombre y apellidos",
    "studentAge": "Edad",
    "studentLevel": "Nivel",
    "studentDetails": "Datos de los alumnos",
    "yearsOld": "{n} años",
    "contactPhone": "Teléfono de contacto",
    "contactPhoneHint": "Para que {name} pueda localizarte el día de la clase.",
    "errorStudentName": "Escribe el nombre de este alumno.",
    "errorStudentAge": "Escribe la edad de este alumno.",
    "errorStudentAgeRange": "Esta edad no entra en esta clase: {who}.",
    "errorContactPhone": "Escribe tu teléfono con el prefijo.",
    "errorDetailsAbove": "Revisa lo marcado en rojo: faltan datos de los alumnos o el teléfono.",
    "actionsTitle": "Acciones",
    "accountClosed": "Cuenta cerrada",
    "instructorPaused": "Su perfil no está publicado ahora mismo.",
    "refundLabel": "Reembolso",
    "refundInProgress": "En curso",
    "refundedLabel": "Reembolsado",
    "refundPendingNote": "Estamos tramitando tu reembolso. Volverá al mismo medio con el que pagaste.",
    "refundBankNote": "Vuelve al mismo medio con el que pagaste. Según tu banco, puede tardar entre 5 y 10 días hábiles en verse.",
    "pickAnotherTime": "Elige otra fecha u hora",
    "slotNoLongerBookable": "Este hueco ya no se puede reservar: ha pasado la antelación mínima del instructor.",
    "priceChanged": "El instructor ha cambiado su tarifa mientras tenías esta página abierta. Revisa el importe actualizado y vuelve a pulsar para pagar.",
    "customerNoShow": "El cliente no se presentó",
    "customerNoShowTitle": "¿Registrar incomparecencia del cliente?",
    "customerNoShowBody": "La clase cuenta como impartida y se libera tu pago. El cliente recibe un aviso: hazlo solo si de verdad no apareció.",
    "customerNoShowToast": "Registrado. La clase cuenta como impartida.",
    "messageToInstructor": "Mensaje al instructor (opcional)",
    "messagePlaceholder": "Cuéntale al instructor tu experiencia, objetivos o cualquier detalle relevante.",
    "priceBreakdown": "Desglose del precio",
    "extraStudents": "+{count} alumnos extra × {hours}h",
    "extraStudents_one": "+{count} alumno extra × {hours}h",
    "extraStudentsLesson": "+{count} alumnos extra",
    "extraStudentsLesson_one": "+{count} alumno extra",
    "total": "Total",
    "payAndSend": "Pagar y enviar solicitud",
    "paymentTitle": "Pago",
    "paymentNotice": "Se te cobrará ahora. La reserva permanecerá pendiente hasta que el instructor la apruebe. Si el instructor rechaza la solicitud o no responde antes del plazo, recibirás un reembolso completo.",
    "paymentNoticeInstant": "Se te cobrará ahora y la clase quedará confirmada en cuanto se complete el pago.",
    "paymentNoticeGroup": "Se te cobrará ahora y tu plaza quedará confirmada en cuanto se complete el pago. Si la clase se cancela, recibirás un reembolso completo.",
    "paymentNoticeSchool": "Se te cobrará ahora. La reserva permanecerá pendiente hasta que la escuela la apruebe. Si la escuela rechaza la solicitud o no responde antes del plazo, recibirás un reembolso completo.",
    "paymentNoticePack": "Se te cobrará ahora el pack entero y quedará confirmado en cuanto se complete el pago. Solo se puede cancelar entero y con antelación a su primer día. Si se cancela uno de sus días, se te devuelve la parte de ese día.",
    "paymentNoticePackRequest": "Se te cobrará ahora el pack entero. Quedará pendiente hasta que la escuela lo apruebe; si lo rechaza o no responde antes del plazo, recibirás un reembolso completo. Solo se puede cancelar entero y con antelación a su primer día.",
    "paymentNoticePackRequestInstructor": "Se te cobrará ahora el pack entero. Quedará pendiente hasta que el instructor lo apruebe; si lo rechaza o no responde antes del plazo, recibirás un reembolso completo. Solo se puede cancelar entero y con antelación a su primer día.",
    "cancellationPolicy": "Política de cancelación",
    "cancellationPolicyBody": "Cancelación gratuita mientras el instructor no haya confirmado. Tras la confirmación, puedes seguir cancelando con reembolso completo hasta {window} antes del inicio de la clase. Reembolso completo si el instructor rechaza la reserva o no responde a tiempo.",
    "cancellationPolicyLastMinute": "Quedan menos de {window} para esta clase: si el instructor la confirma, ya no podrás cancelarla. Seguirás recibiendo el reembolso completo si la rechaza o no responde a tiempo.",
    "cancellationPolicyBodySchool": "Cancelación gratuita mientras la escuela no haya confirmado. Tras la confirmación, puedes seguir cancelando con reembolso completo hasta {window} antes del inicio de la clase. Reembolso completo si la escuela rechaza la reserva o no responde a tiempo.",
    "cancellationPolicyBodyInstant": "Tu clase queda confirmada en cuanto se completa el pago, sin esperar respuesta. Puedes cancelarla con reembolso completo hasta {window} antes del inicio; después ya no se puede cancelar.",
    "cancellationPolicyBodyGroup": "Tu plaza queda confirmada en cuanto se completa el pago. Puedes cancelarla con reembolso completo hasta {window} antes del inicio de la clase; después ya no se puede cancelar.",
    "cancellationPolicyLastMinuteSchool": "Quedan menos de {window} para esta clase: si la escuela la confirma, ya no podrás cancelarla. Seguirás recibiendo el reembolso completo si la rechaza o no responde a tiempo.",
    "cancellationPolicyLastMinuteInstant": "Quedan menos de {window} para esta clase: queda confirmada en cuanto pagas y ya no podrás cancelarla.",
    "cancel": "Cancelar reserva",
    "cancelByInstructor": "Cancelar esta clase",
    "cancelTitle": "¿Cancelar esta reserva?",
    "cancelBody": "La solicitud se cancelará y el instructor dejará de verla.",
    "cancelBodyPaid": "La solicitud se cancelará y se te devolverá el importe completo.",
    "cancelByInstructorBody": "Se cancelará la clase y se devolverá el importe completo al cliente. Cancelar clases ya confirmadas afecta a tu reputación: hazlo solo si es imprescindible.",
    "cancelConfirm": "Sí, cancelar",
    "cancelBodyConfirmed": "Se cancelará la clase confirmada y se te devolverá el importe completo. El instructor recupera la hora.",
    "freeCancelUntil": "Cancelación gratuita hasta el {date} (hora de la estación)",
    "cancelWindowClosed": "El plazo de cancelación gratuita ha pasado: la clase empieza en menos de {window}.",
    "cancelWindowClosedAsk": "Pide a {name} por el chat que la cancele: aún puede hacerlo con reembolso completo.",
    "cancelWindowClosedAskGroup": "Pide a {name} por el chat que cancele tu plaza: aún puede hacerlo con reembolso completo.",
    "managedBySchoolNotice": "Tu escuela responde esta solicitud por ti.",
    "manageInSchoolPanel": "Gestionarla desde el panel de la escuela",
    "schoolLabel": "Escuela",
    "unassignedNote": "La escuela asigna al instructor y lo conoces en el punto de encuentro. Para cualquier duda, el chat es con la escuela.",
    "unassignedShort": "Instructor asignado por la escuela",
    "lessonType": "Tipo de clase",
    "groupLesson": "Clase grupal",
    "groupMax": "Máximo {n} personas",
    "groupSeatsLeft": "{count} plazas libres",
    "groupSeatsLeft_one": "{count} plaza libre",
    "perPerson": "por persona",
    "groupPriceWhole": "Por la clase entera ({hours} h)",
    "groupFromPerPerson": "Clases grupales desde {price} por persona",
    "groupCheckoutNote": "Es una clase grupal: otros clientes pueden apuntarse a la misma clase, hasta {n} personas en total.",
    "groupQuorumNotice": "Esta clase se da con al menos {min} asistentes. Si {hours} horas antes del inicio sigue por debajo, se cancela y te devolvemos el importe completo.",
    "schoolViewerNote": "Ves esta reserva como escuela del instructor. El chat y el punto de encuentro quedan entre el instructor y el cliente.",
    "rejectConfirmTitle": "¿Rechazar esta solicitud?",
    "rejectConfirmBody": "Se devolverá el importe completo al cliente y la solicitud no se puede reabrir. Si solo es que el horario no te encaja, proponle otro.",
    "proposeTimeBody": "El cliente puede aceptar tu nuevo horario o rechazarlo y mantener abierta la solicitud original.",
    "proposeFormatNote": "Esta clase se vendió como formato fijo: solo puede pasar a otro día con el mismo horario, si ese día se vende al mismo precio.",
    "proposeMessagePlaceholder": "Mensaje opcional para el cliente…",
    "proposeSent": "Nuevo horario propuesto. El cliente ha sido avisado.",
    "completePayment": "Completar el pago",
    "declinedProposedToast": "Horario rechazado: la solicitud original vuelve a estar abierta.",
    "completePaymentBody": "Esta reserva está pendiente de pago, y el instructor no verá la solicitud hasta que se complete. Al abrir el pago te guardamos el hueco {minutes} minutos; si ya no la quieres, cancélala.",
    "cancelledToast": "Reserva cancelada",
    "processing": "Procesando pago...",
    "paymentSuccess": "Pago realizado",
    "confirmationTitle": "Estamos procesando tu reserva",
    "confirmationBody": "Hemos cobrado tu tarjeta y abierto un chat privado con tu instructor. Recibirás una notificación en cuanto responda.",
    "confirmedTitle": "Tu clase está confirmada",
    "confirmedTitleGroup": "Tu plaza está confirmada",
    "confirmedBody": "Hemos cobrado tu tarjeta y abierto un chat privado para la clase. El punto de encuentro y todos los detalles están en la página de tu reserva.",
    "openChat": "Abrir chat con el instructor",
    "responseDeadline": "El instructor tiene {time} para responder.",
    "responseDeadlineExpired": "El plazo de respuesta ha vencido.",
    "proposalDeadlineCustomer": "Tienes {time} para responder a la propuesta.",
    "proposalDeadlineOther": "El cliente tiene {time} para responder.",
    "status": {
      "payment_pending": "Pago pendiente",
      "payment_failed": "Pago fallido",
      "pending_instructor_approval": "Esperando al instructor",
      "change_proposed": "Cambio propuesto",
      "confirmed": "Confirmada",
      "rejected_by_instructor": "Rechazada",
      "expired": "Expirada",
      "cancelled_by_customer": "Cancelada por el alumno",
      "cancelled_by_instructor": "Cancelada por el instructor",
      "refunded": "Reembolsada",
      "upcoming": "Próxima",
      "in_progress": "En curso",
      "completed": "Completada",
      "no_show_customer": "Cliente no presentado",
      "no_show_instructor": "Instructor no presentado",
      "disputed": "En revisión"
    },
    "payment": {
      "pending": "Pago pendiente",
      "processing": "Procesando",
      "succeeded": "Pagado",
      "failed": "Fallido",
      "authentication_required": "Requiere autenticación",
      "refund_pending": "Reembolso pendiente",
      "refunded": "Reembolsado"
    },
    "acceptRequest": "Aceptar",
    "rejectRequest": "Rechazar",
    "proposeTime": "Proponer nueva hora",
    "acceptProposed": "Aceptar nueva hora",
    "declineProposed": "Rechazar nueva hora",
    "demoNotice": "Este es un pago simulado. No se realizará ningún cargo real.",
    "mockCardHint": "En modo demo, cualquier número de tarjeta es válido.",
    "securedByStripe": "Pago seguro con Stripe",
    "continueToPayment": "Continuar al pago",
    "continueHint": "Introducirás los datos de tu tarjeta en el siguiente paso, sin salir de esta página.",
    "signInToPay": "Inicia sesión para continuar",
    "signInToPayBody": "Crear una cuenta es gratis y tarda un minuto. La necesitamos para que tu reserva, tu chat y tu recibo queden ligados a ti.",
    "processingTitle": "Estamos confirmando tu pago",
    "processingBody": "Suele tardar unos segundos. Puedes salir de esta página: te avisaremos por email en cuanto se complete.",
    "slotGoneTitle": "Esa hora ya no estaba disponible",
    "slotGoneBody": "Se reservó o se cerró mientras pagabas, así que la reserva no se ha hecho. Te devolvemos el importe completo al mismo medio de pago; según tu banco, puede tardar unos días en verse.",
    "paymentReturnedTitle": "Te devolvemos el pago",
    "paymentReturnedBody": "Esta reserva ya no sigue adelante. El importe vuelve al mismo medio de pago; según tu banco, puede tardar unos días en verse.",
    "loadingPayment": "Abriendo el formulario de pago seguro…",
    "holdUntil": "Te guardamos el hueco hasta las {clock} (quedan {time}).",
    "holdExpired": "Se han acabado tus {minutes} minutos: ya no te guardamos el hueco y otra persona puede reservarlo.",
    "holdRenew": "Comprobar que sigue libre y guardarlo otra vez",
    "kindLabel": "Tipo de clase",
    "kindPrivate": "Clase particular",
    "kindGroup": "Clase en grupo",
    "cancellationPolicyBodyPack": "Puedes cancelar el pack entero, con reembolso íntegro, hasta {window} antes de su primer día. Después ya no se puede cancelar. Si se cancela uno de sus días, se te devuelve la parte de ese día.",
    "addToCalendar": "Añadir a mi calendario",
    "addToCalendarGoogle": "Google Calendar",
    "addToCalendarFile": "Apple / Outlook"
  },
  "chat": {
    "directChat": "Chat directo",
    "directSubtitle": "Conversación directa — puedes chatear antes de reservar una clase.",
    "empty": "Aún no hay mensajes. ¡Empieza la conversación!",
    "emptyList": "Aún no tienes conversaciones.",
    "unknownUser": "Usuario",
    "notReady": "El chat se abre al completar el pago.",
    "prePayTitle": "¿Dudas antes de pagar?",
    "prePayBody": "El chat de esta reserva se abre al completar el pago. Si antes quieres preguntar algo al instructor, escríbele: te responderá en una conversación aparte.",
    "prePayCta": "Escribir al instructor",
    "prePayNewTab": "Se abre en otra pestaña",
    "sendPlaceholder": "Escribe un mensaje...",
    "send": "Enviar",
    "typing": "escribiendo...",
    "failed": "El mensaje no se pudo enviar.",
    "readOnly": "Esta reserva está cerrada. La conversación es de solo lectura.",
    "meetingPoint": "Punto de encuentro",
    "proposeMeeting": "Proponer punto de encuentro",
    "confirmMeeting": "Confirmar punto de encuentro",
    "meetingConfirmed": "Punto de encuentro confirmado",
    "meetingProposedBy": "Propuesto por {who}",
    "meetingProposedByYou": "Propuesto por ti",
    "system": {
      "accepted": "El instructor aceptó la reserva.",
      "rejected": "El instructor rechazó la reserva.",
      "acceptedNewTime": "El cliente aceptó el nuevo horario.",
      "refundInitiated": "Se ha iniciado un reembolso."
    },
    "answeredBySchool": "Te responde {school} en nombre de {name}.",
    "writingForInstructor": "Escribes en nombre de {name}: su perfil aún no tiene cuenta.",
    "forInstructor": "Para {name}"
  },
  "dashboard": {
    "customer": {
      "title": "Mi panel",
      "overview": "Resumen",
      "nextLesson": "Próxima clase",
      "pendingResponses": "Esperando al instructor",
      "unreadMessages": "Mensajes sin leer",
      "empty": "Aún no tienes reservas.",
      "browse": "Buscar instructor",
      "pastLessons": "Clases pasadas"
    },
    "instructor": {
      "title": "Panel del instructor",
      "notManaging": "No estás gestionando a ningún instructor.",
      "notManagingGo": "Ir a los instructores",
      "pendingRequests": "Solicitudes pendientes",
      "upcomingLessons": "Próximas clases",
      "monthEarnings": "Este mes",
      "rating": "Valoración media",
      "requestsEmpty": "Sin solicitudes pendientes.",
      "requestsManagedBySchool": "Tu escuela responde tus solicitudes de reserva. Aquí puedes seguirlas y abrir el chat.",
      "youEarn": "Tú recibes ({percent}%)",
      "bookingRef": "Reserva #{ref}",
      "studentsCount": "{count} alumnos",
      "studentsCount_one": "{count} alumno",
      "noAvailabilityTitle": "Tu calendario está vacío",
      "noAvailabilityBody": "Aún no has publicado horas de clase, así que los clientes no pueden reservarte. Abre las horas en las que quieres dar clase.",
      "noAvailabilityCta": "Configura tu disponibilidad",
      "acting": {
        "banner": "Estás gestionando a {name} como Alpine Pal.",
        "moneyReadOnly": "Los cobros y las retiradas son del instructor: aquí puedes verlos, pero no cambiarlos.",
        "messagesNotice": "Aquí ves tus propias conversaciones como Alpine Pal, no las del instructor.",
        "accountNotice": "Su método de cobro y el cierre de la cuenta son del instructor: no se gestionan desde aquí.",
        "calendarNotice": "El Google Calendar es del instructor: no se gestiona desde aquí."
      },
      "connectionsIntro": "Conecta Alpine Pal con tu Google Calendar: tus clases aparecen solas en él y, si quieres, las horas ocupadas de tu calendario dejan de poder reservarse."
    }
  },
  "review": {
    "submit": "Enviar reseña",
    "verifiedBooking": "Reserva verificada",
    "rateInstructor": "Valora a tu instructor",
    "rateCustomer": "Valora a tu alumno",
    "commentPlaceholder": "Cuéntanos cómo fue la clase (opcional)",
    "submittedToast": "¡Gracias por tu valoración!",
    "thanks": "Ya has valorado esta clase. ¡Gracias!",
    "pendingBadge": "Valora la clase",
    "clientRating": "{count} valoraciones",
    "clientRating_one": "{count} valoración",
    "clientRatingEmpty": "Cliente nuevo, sin valoraciones todavía",
    "toReview": "Clases por valorar"
  },
  "calendar": {
    "title": "Disponibilidad",
    "subtitle": "Haz click en una hora libre para abrirla, o en una abierta para quitarla. Horas en la zona horaria de la estación.",
    "today": "Hoy",
    "prevWeek": "Semana anterior",
    "nextWeek": "Semana siguiente",
    "weekOf": "Semana del {date}",
    "addTitle": "Añadir disponibilidad",
    "untilHour": "Hasta las",
    "oneOff": "Puntual",
    "recurring": "Recurrente (semanal)",
    "recurringUntil": "Repetir hasta",
    "noEndDate": "Déjalo vacío para repetir sin fecha de fin.",
    "add": "Añadir",
    "removeTitle": "Quitar disponibilidad",
    "removeBody": "Esta hora es parte de una disponibilidad recurrente. ¿Quieres quitarla solo este día o toda la recurrencia?",
    "removeSingleDay": "Solo este día",
    "removeSeries": "Toda la recurrencia",
    "legendAvailable": "Disponible",
    "legendUnavailable": "No disponible",
    "legendConfirmed": "Clase confirmada",
    "legendPending": "Solicitud pendiente",
    "legendInProgress": "Clase en curso",
    "legendCompleted": "Completada",
    "legendProblem": "Incidencia sin resolver",
    "legendBooked": "Reservado",
    "legendPendingSlot": "En proceso de reserva",
    "legendSelected": "Tu selección",
    "legendYourBooking": "Tu reserva",
    "legendYourPending": "Tu solicitud pendiente",
    "noticeWindowBlocked": "Pides {hours} horas de antelación, así que nadie podría reservar esta hora a tiempo. Abre horas más adelante o reduce la antelación en Clases privadas.",
    "jumpToNext": "Próxima clase disponible: {date}",
    "noneAvailableSoon": "Sin horas disponibles próximamente.",
    "emptyResortHint": "Todavía no hay horas abiertas en esta estación. Pulsa cualquier hora libre de la rejilla para abrirla.",
    "managedBySchool": "Tu escuela gestiona este calendario. Aquí puedes verlo; los cambios se hacen desde el panel de la escuela.",
    "legendExternal": "Reservada fuera",
    "selectHint": "Haz click en una hora libre para empezar; click en la siguiente para alargar la clase.",
    "clearSelection": "Quitar selección",
    "noSelection": "Elige una hora en el calendario",
    "noFormatSelection": "Elige un formato y un día en el calendario",
    "legendGroup": "Clase grupal",
    "legendGroupFull": "Clase grupal · completa",
    "groupCellTitle": "Clase grupal · {taken}/{capacity} plazas",
    "groupCellJoinTitle": "Clase grupal · {count} plazas libres · {price} por persona",
    "groupCellJoinTitle_one": "Clase grupal · {count} plaza libre · {price} por persona",
    "groupCellFullTitle": "Clase grupal · sin plazas libres",
    "groupToggle": "Clase grupal",
    "groupToggleHint": "Puede apuntarse cualquiera hasta llenar las plazas; cada persona paga la suya. Se publica al momento, sin pasar por Guardar.",
    "groupCapacity": "Plazas",
    "groupMinStudents": "Mínimo para impartirla",
    "groupPrice": "Precio por persona",
    "groupPriceMin": "Mínimo {price}",
    "groupLevel": "Nivel",
    "groupLanguage": "Idioma de la clase",
    "groupMeetingPoint": "Punto de encuentro",
    "groupStillMissing": "Para publicarla falta: {fields}.",
    "groupMeetingPointNone": "Sin fijar",
    "groupMeetingPointSuggested": "Usar un punto sugerido de la estación",
    "groupMeetingPointSet": "Fijarlo",
    "groupMeetingPointChange": "Cambiar",
    "groupMeetingPointSave": "Guardar punto de encuentro",
    "groupMeetingPointSaved": "Punto de encuentro guardado. Hemos avisado a quien ya tiene plaza.",
    "groupMeetingPointHint": "Fijo e igual para todos los participantes.",
    "publishGroup": "Publicar clase",
    "groupPublished": "Clase grupal publicada",
    "groupCancelled": "Clase grupal retirada",
    "groupManageTitle": "Clase grupal",
    "groupSeatsLabel": "Plazas",
    "groupCancelDay": "Cancelar este día",
    "groupCancelSeries": "Cancelar la serie",
    "groupCancelClass": "Cancelar la clase",
    "groupCancelDayTitle": "¿Cancelar la clase del {date}?",
    "groupCancelSeriesTitle": "¿Cancelar toda la serie?",
    "groupCancelClassTitle": "¿Cancelar esta clase?",
    "groupCancelDayScope": "Solo deja de ofrecerse esta fecha; el resto de la serie sigue igual.",
    "groupCancelSeriesScope": "Se cancelan todas las fechas que quedan de esta serie, también las de las próximas semanas.",
    "groupCancelClassScope": "La clase deja de ofrecerse y desaparece del calendario.",
    "groupCancelSeats": "Hay {count} plazas vendidas: se devuelve el importe íntegro a cada participante y se les avisa.",
    "groupCancelSeats_one": "Hay 1 plaza vendida: se devuelve el importe íntegro y se avisa a quien la reservó.",
    "groupCancelSeatsNone": "No hay plazas vendidas.",
    "groupCancelIrreversible": "No se puede deshacer.",
    "groupCancelSeriesPhrase": "CANCELAR",
    "groupAssignLabel": "Asignar esta clase a un instructor",
    "groupAssignPlaceholder": "Elige un instructor",
    "groupAssignButton": "Asignar",
    "groupAssignHint": "La clase y todas sus plazas reservadas pasan a su calendario.",
    "groupAssignedToast": "Clase asignada",
    "groupDisabledNotice": "Las clases grupales están desactivadas. Actívalas y pon el precio por persona en el paso 1, arriba.",
    "groupPriceFromSettings": "Se pone en el paso 1, arriba.",
    "seatSubtitle": "Pulsa una hora libre para abrirla o una abierta para cambiar sus plazas. Cada casilla dice reservadas/plazas. Horas en la zona horaria de la estación.",
    "seatCellTitle": "Reservadas: {taken} de {places}",
    "legendFull": "Completa",
    "placesLabel": "Plazas particulares",
    "placesHint": "Cuántas clases a la vez puedes vender en estas horas, en esta estación.",
    "placesTitle": "Plazas de esta hora",
    "placesNow": "Plazas: {places} · Reservadas: {taken}",
    "placesScopeDay": "Solo este día",
    "placesScopeWeekly": "Cada {weekday}",
    "placesScopeDayHint": "Cambia solo este día; las demás semanas siguen como estaban.",
    "placesScopeWeeklyHint": "Cambia estas horas cada semana a partir de este día; las semanas anteriores siguen como estaban.",
    "placesBelowTaken": "Clases ya reservadas en estas horas: {taken}. Siguen en pie aunque bajes las plazas; solo dejan de venderse nuevas.",
    "placesRemove": "Quitar estas horas",
    "placesApply": "Aplicar",
    "seatCellGroups": "Clases grupales: {n}",
    "hourIntro": "Lo que hay a esta hora: clases particulares y clases en grupo, a la vez.",
    "hourPrivate": "Clases particulares",
    "hourNoPrivate": "Sin clases particulares a esta hora.",
    "hourOpenPrivate": "Abrir particulares",
    "hourChangePlaces": "Cambiar plazas",
    "hourGroups": "Clases en grupo",
    "hourNoGroups": "Ninguna clase grupal a esta hora.",
    "hourManage": "Gestionar",
    "hourAddGroup": "Añadir clase grupal",
    "weekdaysLabel": "Días de la semana",
    "placesHintWithGroup": "Clases particulares a la vez, además de la grupal.",
    "seatOfferLabel": "En estas horas",
    "seatOfferPrivate": "Clases particulares",
    "seatOfferGroup": "Solo una clase grupal",
    "seatOfferBoth": "Particulares y una grupal",
    "seatOfferHintPrivate": "Horas a la venta para clases particulares, con las plazas que digas. Se guardan con Guardar.",
    "seatOfferHintGroup": "Solo la clase grupal: en estas horas no se venden particulares. Se publica al momento, sin pasar por Guardar.",
    "seatOfferHintBoth": "La grupal se publica al momento; las plazas particulares se guardan con Guardar.",
    "groupAudience": "Para quién",
    "groupAges": "Edades (opcional)",
    "groupAgesFrom": "Desde (años)",
    "groupAgesTo": "Hasta (años)",
    "groupAgesHint": "Salen en la clase. Al reservar, cada alumno tiene que ser niño.",
    "groupAgesInvalid": "Edades entre {min} y {max}; la primera, no mayor que la segunda.",
    "groupCellChoose": "Clases grupales: {n} · elige una",
    "groupChooseTitle": "Elige la clase",
    "groupChoosePick": "Elegir",
    "selectGroupHint": "Haz click en una clase para elegirla; si a esa hora hay varias, eliges cuál.",
    "selectFormatHint": "Haz click en un precio para elegir ese formato ese día: es una clase entera, para todo el grupo.",
    "formatMinDaysWeek": "Esta semana, {list} solo se venden en varios días seguidos: pulsa el primer día y se marcan todos.",
    "formatMinDaysItem": "{format} (mín. {days} días)",
    "formatNotSold": "No se vende ese día",
    "recurringSince": "Empieza el",
    "recurringSinceHint": "Antes de esa fecha no se abre nada: puedes cargar la temporada con antelación.",
    "untilBeforeSince": "El final no puede ser anterior al inicio.",
    "sinceOutOfRange": "Elige un inicio entre hoy y el {date}.",
    "noWeekdayBetween": "Ninguno de esos días cae entre las dos fechas.",
    "laterSeriesReplaced": "Ya hay una serie de este día que empieza el {date}. Sin fecha de fin, o con una posterior, estas plazas la sustituirán; pon fin antes de esa fecha para conservarla.",
    "seriesSince": "desde el {date}",
    "seriesUntil": "hasta el {date}",
    "privateTitle": "Calendario de clases privadas",
    "groupTitle": "Calendario de clases grupales",
    "groupSubtitle": "Pulsa una hora para publicar una clase grupal, o una clase para gestionarla. Horas en la zona horaria de la estación.",
    "legendPrivateOpen": "Abierta para clases privadas",
    "groupElsewhere": "se gestiona en Clases grupales",
    "legendGoogleBusy": "Ocupado en Google Calendar"
  },
  "languagePicker": {
    "placeholder": "Selecciona idiomas",
    "search": "Busca un idioma…",
    "noResults": "Ningún idioma coincide."
  },
  "invoice": {
    "title": "Factura de comisión",
    "print": "Imprimir",
    "number": "Número",
    "date": "Fecha",
    "platformBlock": "Emisor",
    "instructorBlock": "Destinatario",
    "colRef": "Referencia",
    "colDate": "Fecha",
    "colSubtotal": "Importe clase",
    "colFee": "Comisión ({percent}%)",
    "colNet": "Neto instructor",
    "totals": "Totales",
    "provisionalNote": "Documento provisional: los datos fiscales del emisor están pendientes de configurar.",
    "footnote": "Este documento detalla la comisión de plataforma ya retenida sobre las clases incluidas en la retirada. No genera ningún cargo nuevo.",
    "notAvailable": "Esta factura no está disponible.",
    "colFeeMixed": "Comisión"
  },
  "meetingPoint": {
    "notAgreed": "Punto de encuentro sin acordar",
    "proposed": "Punto de encuentro propuesto",
    "propose": "Proponer punto de encuentro",
    "titleLabel": "Título",
    "areaLabel": "Zona",
    "instructionsLabel": "Instrucciones",
    "mapUrlLabel": "Enlace al mapa (opcional)",
    "change": "Cambiar punto de encuentro",
    "viewMap": "Abrir mapa",
    "locked": "Podréis acordar el punto de encuentro cuando la reserva esté confirmada.",
    "groupPendingCustomer": "El instructor aún no ha fijado el punto de encuentro de esta clase grupal. Te avisaremos aquí en cuanto lo haga.",
    "groupPendingInstructor": "Esta clase grupal aún no tiene punto de encuentro. Fíjalo en la clase desde el calendario y les llegará a todos los participantes.",
    "error": "No se pudo actualizar el punto de encuentro."
  },
  "admin": {
    "overview": "Panel de administración",
    "attention": {
      "title": "Pendiente de ti",
      "none": "No hay nada pendiente.",
      "instructors": "Instructores por revisar",
      "schools": "Escuelas por revisar",
      "disputes": "Reclamaciones abiertas",
      "moneyAlerts": "Avisos de dinero pendientes de revisar",
      "manualPayouts": "Pagos pendientes de enviar",
      "awaitingFunds": "Retiradas esperando saldo en Stripe",
      "open": "Ver",
      "referrals": "Premios de invitación por revisar",
      "lueiraReviews": "Conexiones de Lueira por revisar"
    },
    "loadError": {
      "body": "No se ha podido cargar. Puede ser un fallo pasajero: vuelve a intentarlo.",
      "retry": "Reintentar"
    },
    "instructors": "Instructores",
    "resorts": "Estaciones",
    "bookings": "Reservas",
    "colRef": "Ref",
    "instructorFilterPlaceholder": "Busca por nombre, slug, id o estado…",
    "noMatches": "Ningún instructor coincide con esa búsqueda.",
    "copyId": "Copiar id de cuenta (Clerk)",
    "idCopied": "Id de cuenta copiado",
    "gmv": "GMV",
    "savedToast": "Guardado",
    "approve": "Aprobar",
    "schools": "Escuelas",
    "schoolsPending": "{count} pendientes",
    "schoolsPending_one": "{count} pendiente",
    "schoolOwner": "Titular",
    "schoolInstructorCount": "Instructores: {n}",
    "schoolWebsite": "Web",
    "noSchools": "Aún no hay escuelas.",
    "rejectSchoolTitle": "¿Rechazar esta escuela?",
    "status": {
      "pending_review": "Pendiente de revisión",
      "verified": "Verificada",
      "rejected": "Rechazada"
    },
    "instructorStatus": {
      "draft": "Borrador",
      "pending_review": "Pendiente de revisión",
      "verified": "Verificado",
      "rejected": "Rechazado",
      "documents_expired": "Documentos caducados"
    },
    "finances": {
      "title": "Finanzas",
      "available": "Disponible",
      "pending": "Pendiente",
      "onHold": "Retenido",
      "paidOut": "Retirado",
      "byInstructor": "Saldo por instructor",
      "instructor": "Instructor",
      "withdrawals": "Retiradas",
      "reference": "Referencia Stripe",
      "empty": "Todavía no hay movimientos de dinero.",
      "commissionTitle": "Comisión de Alpine Pal",
      "commissionEarned": "Ganado",
      "commissionAtRisk": "Por confirmar",
      "commissionRefunded": "Devuelto",
      "commissionNote": "Un reembolso devuelve la reserva entera, comisión incluida: solo cuenta como ganado lo de una clase ya impartida.",
      "balance": {
        "title": "Saldo en Stripe",
        "canMove": "Puedes pasar a tu banco hasta",
        "available": "Disponible en Stripe",
        "pending": "Pendiente de asentarse",
        "mustKeep": "Hay que dejar en Stripe",
        "manualToPay": "De eso, pagos a mano por enviar",
        "hint": "Lo que hay que dejar es lo que se debe a instructores y escuelas más lo que aún se puede devolver a clientes: un reembolso devuelve la reserva entera, comisión incluida, hasta que se retira el dinero de esa clase. Solo cuenta el saldo disponible; los pagos que se están asentando cubrirán lo suyo. Cuando pagues a mano una retirada, pasa ese importe a tu banco para enviarla.",
        "unavailable": "Ahora mismo no se ha podido consultar el saldo de Stripe.",
        "waitingTitle": "Retiradas esperando fondos",
        "waitingHint": "El saldo disponible en Stripe todavía no las cubre. Se reintentan solas cada hora y salen en cuanto lo hace. Si añades fondos al saldo de pagos de Stripe, pulsa «Reintentar ahora».",
        "shortfall": "Faltan {amount} en el saldo disponible de Stripe",
        "since": "desde el {date}",
        "attempts": "reintentos: {n}",
        "retryNow": "Reintentar ahora",
        "retried": "Enviadas: {sent} · siguen esperando: {waiting}"
      },
      "owedTitle": "Se debe a los instructores"
    },
    "colInstructor": "Instructor",
    "colStatus": "Estado",
    "colChecks": "Comprobaciones",
    "colActive": "Activo",
    "colActions": "Acciones",
    "colResort": "Estación",
    "colRegion": "Región",
    "colInstructors": "Instructores",
    "active": "Activo",
    "inactive": "Inactivo",
    "verify": "Verificar",
    "reject": "Rechazar",
    "activate": "Activar",
    "deactivate": "Desactivar",
    "refund": "Reembolsar",
    "resortsNote": "Las estaciones se mantienen como contenido estático en src/data/resorts — esta vista es de solo lectura. Instructores y escuelas cuentan los perfiles que un cliente puede encontrar; clases realizadas, las dadas y no devueltas; próximas, las reservas pagadas que aún no se han dado.",
    "viewDocument": "Ver documento",
    "disputes": "Reclamaciones",
    "schoolSuspend": "Suspender",
    "schoolReactivate": "Reactivar",
    "schoolClose": "Cerrar",
    "schoolSuspendedBadge": "Suspendida",
    "schoolClosedBadge": "Cerrada",
    "continue": "Continuar",
    "suspendSchoolTitle": "¿Suspender {name}?",
    "suspendSchoolBody": "Su página deja de verse y sus clases sin instructor asignado dejan de venderse. Las reservas que ya tiene siguen adelante, y puede seguir usando el panel y la API. Avisaremos a sus administradores por campana y correo. Podrás reactivarla cuando quieras.",
    "suspendSchoolSureTitle": "¿Seguro del todo?",
    "suspendSchoolSureBody": "Vas a retirar {name} de Alpine Pal ahora mismo, y sus administradores lo sabrán enseguida.",
    "suspendSchoolNow": "Sí, suspender",
    "reactivateSchoolTitle": "¿Reactivar {name}?",
    "reactivateSchoolBody": "Su página vuelve a verse. Sus clases sin instructor asignado vuelven a venderse en las horas que tenga abiertas. Avisaremos a sus administradores.",
    "closeSchoolTitle": "¿Cerrar {name} para siempre?",
    "closeSchoolBody": "Esto es lo que pasará: sus {roster} instructores dejarán la plantilla y quedarán pausados hasta revisión ({rosterLessons} clases suyas pendientes siguen con ellos); se cerrarán los {unclaimed} perfiles que añadió sin cuenta; se revocarán sus claves de la API y se apagarán sus webhooks.",
    "closeSchoolLoading": "Calculando lo que implica cerrarla…",
    "closeSchoolOwed": "No se puede cerrar: a la escuela aún se le deben {owed}, entre lo que puede retirar, lo que traerán las clases que aún no se han dado y lo retenido. Una escuela cerrada ya no puede cobrar. Puedes suspenderla mientras tanto y cerrarla cuando lo haya cobrado todo.",
    "closeSchoolLessonsAhead": "Todavía no se puede cerrar: tiene {count} clases pendientes que solo la escuela puede atender (clases sin instructor asignado o de instructores que añadió sin cuenta), y primero tienen que darse. Ciérrala cuando hayan pasado y lo haya cobrado todo. Mientras tanto puedes suspenderla.",
    "closeSchoolLessonsAhead_one": "Todavía no se puede cerrar: tiene {count} clase pendiente que solo la escuela puede atender (una clase sin instructor asignado o de un instructor que añadió sin cuenta), y primero tiene que darse. Ciérrala cuando haya pasado y lo haya cobrado todo. Mientras tanto puedes suspenderla.",
    "closeSchoolSureTitle": "Última confirmación",
    "closeSchoolSureBody": "Cerrar una escuela no se puede deshacer. Escribe su nombre exacto para confirmarlo.",
    "closeSchoolNow": "Cerrar la escuela",
    "schoolSuspendedToast": "Escuela suspendida",
    "schoolReactivatedToast": "Escuela reactivada",
    "schoolClosedToast": "Escuela cerrada",
    "review": {
      "title": "Pendiente de revisar",
      "hint": "Los avisos de dinero que necesitan a una persona, cada uno con su reserva. Márcalos como revisados cuando estén resueltos: desaparecen para todos los administradores.",
      "repeats": "{n} veces",
      "settled": "Ya reembolsada",
      "stripeOnly": "Este cobro solo está en Stripe: devuélvelo desde el panel de Stripe.",
      "retryRefund": "Reintentar el reembolso",
      "retryTitle": "¿Reintentar el reembolso de {reference}?",
      "retryBody": "Se vuelve a pedir a Stripe que devuelva el dinero al cliente. Si ya se hizo, no se devuelve dos veces.",
      "dismiss": "Marcar como revisado",
      "dismissed": "Marcado como revisado"
    },
    "sweep": {
      "title": "Barrido automático",
      "ok": "Última pasada completa hace {minutes} min.",
      "late": "Sin pasada completa desde hace {hours} h: no se cierran clases ni se reintentan reembolsos. Revisa el worker snowmatch-tasks.",
      "unknown": "Aún no hay ninguna pasada registrada.",
      "failing": "Las últimas {count} pasadas han fallado: {error}",
      "failing_one": "La última pasada ha fallado: {error}",
      "webhooks": "Reintentos de webhooks: última pasada hace {minutes} min.",
      "lastReport": "La última pasada hizo:",
      "lastReportEmpty": "nada que hacer"
    },
    "backup": {
      "title": "Copias de seguridad",
      "ok": "Última copia: {date}. Se hace cada semana y se guarda 90 días.",
      "late": "Última copia: {date}. Lleva más de una semana sin hacerse: revisa el worker snowmatch-tasks.",
      "never": "Todavía no ha salido bien ninguna copia: revisa el worker snowmatch-tasks y su D1_EXPORT_TOKEN.",
      "unknown": "Aún no hay ninguna copia registrada.",
      "failing": "Intentos fallidos seguidos: {n}. Último error: {error}"
    },
    "disputeRefund": "Devolver al cliente",
    "disputeDismiss": "Desestimar",
    "refundConfirmTitle": "¿Reembolsar esta reserva?",
    "refundConfirmBody": "Se devolverán {amount} íntegros al cliente por la reserva {reference}. No se puede deshacer.",
    "disputeRefundNoShow": "Reembolsar (no se presentó el instructor)",
    "disputeRefundNoShowConfirmBody": "El importe completo vuelve al cliente y la reserva queda registrada como incomparecencia del instructor. Esto cierra la reclamación definitivamente.",
    "disputeRefundConfirmTitle": "¿Reembolsar al cliente?",
    "disputeRefundConfirmBody": "El importe completo vuelve al cliente y el instructor no cobra. Esto cierra la reclamación definitivamente.",
    "disputeDismissConfirmTitle": "¿Desestimar esta reclamación?",
    "disputeDismissConfirmBody": "La reclamación se archiva y se libera el pago al instructor. Esto cierra la reclamación definitivamente.",
    "disputeChargebackBadge": "Contracargo de Stripe",
    "disputeChargebackDismissBody": "El contracargo lo decide Stripe, no esta lista: el pago al instructor sigue retenido hasta que Stripe resuelva, y entonces se libera o se devuelve solo. Desestimarlo solo lo quita de aquí, y al cliente no se le avisa de nada.",
    "disputeChargebackRefundBody": "El dinero ya ha vuelto al cliente por su banco con el contracargo: esto lo da por perdido, anula el pago al instructor y cierra la reclamación.",
    "rejectConfirmTitle": "¿Rechazar a este instructor?",
    "rejectConfirmBody": "La solicitud de {name} quedará rechazada y su perfil no se publicará.",
    "deactivateConfirmTitle": "¿Desactivar a este instructor?",
    "deactivateConfirmBody": "{name} desaparecerá del buscador y no podrá recibir reservas nuevas hasta que se reactive.",
    "accountClosed": "Cuenta cerrada",
    "expiredCerts": "{n} con titulación caducada",
    "stripeVerified": "Identidad verificada por Stripe",
    "stripePending": "Stripe está revisando sus datos",
    "stripeNone": "Sin cuenta de cobro todavía",
    "payoutViaSchool": "Cobra a través de su escuela",
    "payoutManual": "Cobro manual: {provider}",
    "filterAllCountries": "Cualquier país",
    "filterAllStaffing": "Con o sin instructores",
    "filterWithInstructors": "Con instructores",
    "filterWithoutInstructors": "Sin instructores",
    "filterAllBookingStatuses": "Cualquier estado de reserva",
    "filterAllPaymentStatuses": "Cualquier estado de pago",
    "filterAllResorts": "Cualquier estación",
    "filterDateFrom": "Desde",
    "filterDateTo": "Hasta",
    "bookingFilterPlaceholder": "Busca por referencia, instructor o estación…",
    "noResortMatches": "Ninguna estación coincide con esos filtros",
    "noBookingMatches": "Ninguna reserva coincide con esos filtros",
    "filterAllStatuses": "Cualquier estado",
    "filterPending": "Pendiente de revisión",
    "filterVerified": "Verificado",
    "filterRejected": "Rechazado",
    "filterAllKinds": "Cualquier tipo",
    "filterAllStates": "Cualquier situación",
    "filterExpiredCert": "Titulación caducada",
    "filterAllSchools": "Independientes o de escuela",
    "filterIndependent": "Independientes",
    "filterAnySchool": "De escuela (todas)",
    "schoolOf": "Escuela: {name}",
    "openInStripe": "Abrir en Stripe",
    "heardFrom": "Nos conoció por {source}",
    "heardFromSummary": "Cómo nos conocieron: {list}",
    "heardFromUnknown": "sin dato",
    "joinedOn": "Alta: {date}",
    "lessonsCount": "Clases realizadas: {n}",
    "sort": {
      "label": "Ordenar por",
      "name": "Nombre",
      "newest": "Alta más reciente",
      "oldest": "Alta más antigua",
      "lessons": "Más clases realizadas",
      "instructors": "Más instructores",
      "schools": "Más escuelas",
      "upcoming": "Más reservas próximas",
      "country": "País y nombre",
      "pendingFirst": "Pendientes de revisión primero"
    },
    "schoolState": {
      "pending": "Pendientes de revisión",
      "published": "Publicadas",
      "suspended": "Suspendidas",
      "rejected": "Rechazadas",
      "closed": "Cerradas"
    },
    "schoolFilterPlaceholder": "Busca por nombre, email o país…",
    "noSchoolMatches": "Ninguna escuela coincide con esos filtros",
    "colSchools": "Escuelas",
    "colLessons": "Clases realizadas",
    "colUpcoming": "Próximas",
    "payouts": {
      "title": "Pagos pendientes de enviar",
      "hint": "Instructores en países a los que Stripe no llega. Envíales el dinero por su plataforma y márcalo aquí.",
      "requested": "Solicitado el {date}",
      "referencePlaceholder": "Nº de operación",
      "markPaid": "Marcar como pagado",
      "marked": "Pago registrado",
      "release": "No he podido pagarlo",
      "released": "Saldo devuelto y aviso enviado",
      "releaseConfirmTitle": "¿Devolver el saldo?",
      "reasonLabel": "Motivo",
      "reason": {
        "invalid_details": "Datos de cobro no válidos",
        "rejected": "La cuenta rechazó el pago",
        "other": "Otro (explícalo en la nota)"
      },
      "noteLabel": "Nota para quien cobra",
      "notePlaceholder": "Opcional. La leerá tal como la escribas.",
      "notePlaceholderRequired": "Obligatoria con «Otro»: explica qué ha pasado.",
      "releaseConfirmBody": "El importe vuelve a su saldo disponible y se le avisa por campana y correo, con el motivo que elijas, para que corrija sus datos y vuelva a pedirlo."
    },
    "schoolInstructorsButton": "Instructores",
    "manageSchoolButton": "Gestionar",
    "manageSchoolFailed": "No se ha podido abrir el panel de esta escuela.",
    "readOnlyBanner": "Vista de solo lectura: puedes ver todo el panel de administración, entrar en Gestionar y abrir los enlaces, pero no cambiar nada.",
    "manageInstructorButton": "Gestionar",
    "manageInstructorFailed": "No se ha podido abrir el panel de este instructor.",
    "schoolInstructorsTitle": "Instructores de {name}",
    "schoolInstructorsIntro": "Lo que hagas aquí lo haces por la escuela, como en su propio panel: invitar por email o añadir instructores sin cuenta con los datos que te envíe.",
    "unclaimedBadge": "Sin cuenta · lo añadió su escuela",
    "top": {
      "badge": "TOP · {percent}%",
      "since": "TOP desde el {date} · por {by}",
      "switchOn": "Poner TOP ({percent}%)",
      "switchOff": "Quitar TOP",
      "confirmOnTitle": "¿Poner TOP a {name}?",
      "confirmOnBodySchool": "Sus clases nuevas, las de todos sus instructores y las sin instructor asignado, pagarán un {percent}% de comisión en vez del {standard}% y subirán media estrella en el orden «Recomendados». Las ya vendidas no cambian y nadie lo verá en su perfil. Antes del primer TOP: los términos nuevos enviados por correo a todos los instructores y escuelas hace al menos 15 días, y la escuela de acuerdo por escrito con la comisión.",
      "confirmOnBodyInstructor": "Sus clases nuevas pagarán un {percent}% de comisión en vez del {standard}% y subirán media estrella en el orden «Recomendados». Las ya vendidas no cambian y nadie lo verá en su perfil. Antes del primer TOP: los términos nuevos enviados por correo a todos los instructores y escuelas hace al menos 15 días, y el instructor de acuerdo por escrito con la comisión.",
      "confirmOffTitle": "¿Quitar TOP a {name}?",
      "confirmOffBody": "Sus clases nuevas volverán al {standard}% de comisión y al orden normal. Las vendidas como TOP conservan su comisión.",
      "onToast": "TOP puesto",
      "offToast": "TOP quitado",
      "bySchool": "TOP por su escuela",
      "filterAll": "TOP o no",
      "filterOnly": "Solo TOP"
    },
    "referredBy": "Código de {name}",
    "salesRep": "Comercial: {name}",
    "sales": {
      "title": "Comerciales",
      "intro": "Cada comercial tiene un enlace con su código. Si una escuela o un instructor independiente llega por él y se registra, queda apuntado a su nombre sin que se le muestre nada. Con las cookies de publicidad aceptadas el enlace cuenta {days} días; sin ellas, solo si se registra en esa misma visita. Lo que el enlace no recoja, añádelo a mano.",
      "new": "Nuevo comercial",
      "name": "Nombre",
      "code": "Código",
      "codeHint": "Letras, números y guiones, sin espacios. Es lo que lleva el enlace, y no se cambia después.",
      "email": "Correo (opcional)",
      "note": "Nota (opcional)",
      "create": "Crear comercial",
      "created": "Comercial creado",
      "empty": "Todavía no hay comerciales.",
      "inactive": "Desactivado",
      "deactivate": "Desactivar",
      "activate": "Activar",
      "deactivated": "Desactivado: su enlace deja de contar desde ahora",
      "activated": "Activado: su enlace vuelve a contar",
      "copy": "Copiar",
      "copied": "Enlace copiado",
      "linkHint": "Vale en cualquier página de la web: basta con añadir {param} al final de la dirección.",
      "funnelSchools": "Escuelas: {total} · aprobadas: {approved} · pueden cobrar: {payable} · con clases dadas: {teaching}",
      "funnelInstructors": "Instructores: {total} · aprobados: {approved} · pueden cobrar: {payable} · con clases dadas: {teaching}",
      "totals": "Ventas de clases dadas: {sales} · comisión de Alpine Pal: {commission}",
      "noSales": "Todavía sin ventas",
      "kind": {
        "school": "Escuela",
        "instructor": "Instructor"
      },
      "source": {
        "link": "Por su enlace",
        "admin": "Añadido a mano"
      },
      "since": "desde el {date}",
      "closed": "Cuenta cerrada",
      "payable": "Puede cobrar",
      "notPayable": "Aún no puede cobrar",
      "lessons": "Clases dadas: {n} (la primera, el {date})",
      "noLessons": "Sin clases dadas",
      "entrySales": "Ventas: {sales} · comisión: {commission}",
      "remove": "Quitar",
      "removed": "Quitado de este comercial",
      "assignTitle": "Añadir a mano",
      "assignPlaceholder": "Busca una escuela o un instructor independiente",
      "assign": "Añadir",
      "assigned": "Añadido a este comercial",
      "noMatches": "No hay nadie sin comercial con ese nombre"
    },
    "referrals": {
      "title": "Invitaciones entre instructores",
      "summary": "{toReview} por revisar · {total} en total",
      "pair": "{invitee} · código {code} de {referrer}",
      "since": "desde el {date}",
      "firstLesson": "Primera clase: #{ref}, {date} · {status} · pago {payment}",
      "disputed": "En disputa",
      "note": "Motivo: {note}",
      "grant": "{side}: {used} de {cap} al {percent} % (en vez del {base} %), hasta el {date}",
      "revoked": "Retirada",
      "revoke": "Retirar",
      "approve": "Aprobar premio",
      "decline": "Rechazar",
      "notePlaceholder": "Motivo (opcional)",
      "approvedToast": "Premio aprobado",
      "declinedToast": "Premio rechazado",
      "revokedToast": "Rebaja retirada",
      "revokeConfirmTitle": "¿Retirar lo que queda de esta rebaja?",
      "revokeConfirmBody": "Las reservas ya hechas conservan su comisión; las siguientes pagarán la normal.",
      "showAll": "Ver todas ({n})",
      "side": {
        "invitee": "Rebaja del invitado",
        "referrer": "Rebaja de quien invita"
      },
      "flag": {
        "same_payout": "Mismo IBAN o email de cobro",
        "same_bank": "Misma cuenta bancaria en Stripe",
        "same_email": "Mismo correo",
        "duplicate_person": "Mismo nombre y fecha de nacimiento que otro instructor",
        "cap_reached": "Tope anual alcanzado"
      }
    }
  },
  "notif": {
    "empty": "Aún no hay notificaciones.",
    "newBookingRequest": "Nueva solicitud de reserva",
    "bookingAccepted": "Reserva aceptada",
    "bookingConfirmed": "Reserva confirmada",
    "bookingRejected": "Reserva rechazada",
    "bookingExpired": "Reserva expirada",
    "timeProposed": "Nuevo horario propuesto",
    "newTimeAccepted": "Nuevo horario aceptado",
    "newTimeDeclined": "Nuevo horario rechazado",
    "meetingPointProposed": "Punto de encuentro propuesto",
    "meetingPointConfirmed": "Punto de encuentro confirmado",
    "customerNoShow": "Registrada como incomparecencia del cliente",
    "refundIssued": "Reembolso realizado",
    "newMessage": "Mensaje nuevo",
    "newApplication": "Nueva solicitud de instructor",
    "newSchoolApplication": "Nueva solicitud de escuela",
    "schoolApproved": "Tu escuela está aprobada",
    "schoolRejected": "Tu solicitud de escuela no ha sido aprobada",
    "invitationAccepted": "Se ha aceptado una invitación de escuela",
    "instructorLeftSchool": "Un instructor ha dejado una escuela",
    "schoolOwnerDeleted": "El titular de una escuela ha borrado su cuenta",
    "schoolOwnerDeletedOwed": "El titular de una escuela con clases pendientes o a la que aún se le debe dinero ha borrado su cuenta: la escuela queda suspendida, no cerrada",
    "schoolAdminJoined": "Un administrador nuevo se ha unido a la escuela",
    "schoolAdminRemoved": "Te han dado de baja como administrador de la escuela",
    "schoolCalendarUnlinked": "Se ha desconectado el Google Calendar de la escuela: estaba conectado a través de alguien que ya no la gestiona. Vuelve a conectarlo desde Conexiones.",
    "removedFromSchool": "Tu escuela te ha dado de baja de su plantilla",
    "instructorNowCertified": "Un instructor declara titulación",
    "instructorNowCompanion": "Un instructor pasa a acompañante",
    "instructorCredentialsChanged": "Un instructor cambia sus certificaciones verificadas",
    "applicationApproved": "Tu perfil de instructor está verificado",
    "applicationRejected": "Solicitud de instructor no aprobada",
    "lessonConfirmed": "Clase confirmada",
    "lessonAutoConfirmed": "Clase confirmada automáticamente",
    "disputeOpened": "Reclamación abierta",
    "disputeRefunded": "Reclamación resuelta: devuelto",
    "disputeDismissed": "Reclamación resuelta",
    "refundNeedsReview": "Reembolso pendiente de revisión manual",
    "schoolSuspended": "Tu escuela está suspendida por ahora",
    "schoolReactivated": "Tu escuela vuelve a estar publicada",
    "schoolClosed": "Tu escuela se ha cerrado",
    "schoolClosedForInstructor": "Tu escuela ha cerrado en Alpine Pal",
    "manualPayoutFailed": "No hemos podido enviarte el pago",
    "sweepStalled": "El barrido automático se ha parado",
    "sweepRecovered": "El barrido automático vuelve a funcionar",
    "backupProblem": "Las copias de seguridad de la base de datos están fallando",
    "chargebackWon": "El banco ha fallado a favor de la clase: pago liberado",
    "chargebackSettled": "Contracargo decidido y resuelto",
    "reviewInvite": "Valora tu clase",
    "paymentMismatch": "Importe cobrado distinto del esperado",
    "bookingCancelled": "Reserva cancelada por el cliente",
    "bookingCancelledByInstructor": "El instructor ha cancelado tu clase",
    "groupClassBelowMinimum": "Una clase grupal no se dará: no llegó al mínimo de asistentes",
    "bookingAcceptedBySchool": "Tu escuela ha aceptado una reserva por ti",
    "bookingRejectedBySchool": "Tu escuela ha rechazado una solicitud de reserva",
    "bookingCancelledBySchool": "Tu escuela ha cancelado una de tus clases",
    "bookingCancelledBySchoolCustomer": "La escuela ha cancelado tu clase",
    "bookingAutoConfirmed": "Clase nueva reservada y confirmada automáticamente",
    "managedBySchool": "Tu escuela gestiona ahora tu calendario y tus solicitudes",
    "managedByYourself": "Vuelves a gestionar tú tu calendario y tus solicitudes",
    "webhookDisabled": "Un endpoint de webhook se ha desactivado tras fallar repetidamente",
    "lessonReminder": "Tu clase es mañana",
    "meetingPointPending": "Tu clase es mañana: acordad el punto de encuentro",
    "classMeetingPointPending": "Tu clase grupal es mañana: fija su punto de encuentro en tu calendario",
    "lessonReminderToday": "Tu clase es hoy",
    "meetingPointPendingToday": "Tu clase es hoy: acordad el punto de encuentro",
    "classMeetingPointPendingToday": "Tu clase grupal es hoy: fija su punto de encuentro en tu calendario",
    "withdrawalPaid": "Retirada completada",
    "withdrawalFailed": "Retirada fallida",
    "withdrawalAwaitingFunds": "Una retirada espera fondos en Stripe",
    "transferReversed": "Transferencia revertida en Stripe",
    "instructorClosedAccount": "Un instructor ha cerrado su cuenta",
    "accountDeletedInClerk": "Cuenta borrada en Clerk, revisala",
    "instructorReapplied": "Un instructor pide nueva revisión",
    "manualPayoutDue": "Hay un pago que enviar a mano",
    "payoutMethodMissing": "Dinos dónde cobrar tu saldo",
    "payoutsReady": "Ya puedes retirar tu saldo",
    "payoutsReadyNeedsFiscal": "Ya puedes retirar tu saldo en cuanto rellenes tus datos fiscales en Facturas",
    "payoutsBlocked": "Tu cuenta de cobro necesita atención",
    "connectUnfinished": "Termina de configurar tus cobros para retirar",
    "bankRejectedPayout": "Tu banco rechazó el ingreso: revisa tus datos",
    "joinedSchool": "Ya formas parte de una escuela",
    "lessonAssigned": "Tu escuela te ha asignado una clase",
    "instructorAssigned": "Tu clase ya tiene instructor",
    "unclaimedProfileAdded": "Una escuela ha añadido un instructor sin cuenta",
    "profileClaimed": "Un instructor ha reclamado su perfil",
    "profileClaimedYours": "Tu perfil ya es tuyo",
    "equipmentBooked": "Material alquilado con una clase",
    "calendarDisconnected": "Tu Google Calendar ya no recibe las clases",
    "referralSignedUp": "Alguien se ha registrado con tu código",
    "referralApproved": "Hemos aprobado a quien invitaste",
    "referralRewarded": "Has ganado una comisión más baja",
    "referralToReview": "Premio de invitación por revisar",
    "lueiraDisconnected": "Lueira ya no acepta la clave de tu escuela",
    "lueiraClash": "Lueira ha vendido una plaza que ya estaba vendida en Alpine Pal",
    "lueiraOursCancelled": "Se ha cancelado en Lueira una clase vendida en Alpine Pal: cancélala también aquí para devolver el dinero al cliente",
    "lueiraOrderRefused": "Una clase pagada en Alpine Pal no ha podido entrar en tu Lueira",
    "lueiraReview": "Una escuela ha enviado su clave de Lueira: revisa la conexión",
    "lueiraApproved": "Tu conexión con Lueira ya está lista",
    "lueiraMissingScope": "A la clave de Lueira le falta un permiso",
    "lueiraOrderUnsure": "No sabemos si una clase pagada ha entrado en tu Lueira"
  },
  "photo": {
    "change": "Cambiar foto",
    "uploading": "Subiendo…",
    "uploaded": "Foto actualizada",
    "hint": "JPG, PNG o WebP. Nosotros la redimensionamos."
  },
  "photos": {
    "label": "Fotos tuyas (opcional)",
    "hint": "Hasta 3. Se recomiendan en la nieve, esquiando y con la cara visible: los perfiles con fotos reciben más solicitudes.",
    "add": "Añadir",
    "addFirst": "Añadir fotos",
    "remove": "Quitar foto",
    "main": "Principal",
    "moveEarlier": "Mover antes",
    "moveLater": "Mover después",
    "tooLarge": "Esa imagen pesa demasiado. Máximo {mb} MB por foto.",
    "sectionTitle": "Fotos",
    "view": "Ver la foto {n}",
    "previous": "Foto anterior",
    "next": "Foto siguiente",
    "close": "Cerrar",
    "counter": "{n} de {total}"
  },
  "payout": {
    "title": "Cómo quieres cobrar",
    "hint": "Stripe todavía no puede enviar dinero a tu país, así que tus retiradas las pagamos nosotros a mano. Dinos a dónde.",
    "provider": "Plataforma",
    "paypal": "PayPal",
    "payoneer": "Payoneer",
    "bank_transfer": "Transferencia bancaria",
    "email": "Correo de la cuenta",
    "emailPlaceholder": "tu@correo.com",
    "iban": "IBAN",
    "accountHolder": "Titular de la cuenta",
    "manualNotice": "No guardamos datos bancarios. Al pedir una retirada, la revisamos y te enviamos el dinero; tarda más que una transferencia automática y te avisamos por email en cuanto salga.",
    "bankNotice": "Cada retirada la enviamos a mano por transferencia a este IBAN. Funciona mejor con cuentas europeas (SEPA); fuera puede tardar más o tener comisiones bancarias.",
    "saved": "Método de cobro guardado",
    "clear": "Quitar"
  },
  "profileEdit": {
    "certName": "Certificación",
    "certOrg": "Organismo",
    "certYear": "Año",
    "addCert": "Añadir",
    "removeCertTitle": "¿Quitar esta certificación?",
    "removeCertBody": "{name} dejará de aparecer en tu perfil. Si la necesitas de nuevo, tendrás que volver a añadirla con su documento.",
    "removeCertConfirm": "Quitar",
    "certStillMissing": "Para añadirla falta: {fields}.",
    "removeCertLastProof": "No puedes quitarla: es la única que acredita tu titulación en tus estaciones. Añade otra antes de quitarla.",
    "kindTitle": "Cómo te ofreces",
    "kindCurrent": "lo que dice hoy tu perfil",
    "kindUpgradeBody": "¿Ya tienes la titulación? Añádela aquí y tu perfil pasará a mostrarte como instructor titulado. Figurará como declarada hasta que la comprobemos, y mientras tanto sigues aceptando reservas.",
    "kindUpgrade": "Ya soy instructor titulado",
    "kindDowngradeBody": "Puedes volver a ofrecerte como acompañante. Tu titulación se queda en la ficha, pero el perfil deja de afirmarla.",
    "kindDowngrade": "Pasar a acompañante"
  },
  "auth": {
    "notConfiguredTitle": "El inicio de sesión aún no está disponible",
    "notConfiguredBody": "Las cuentas estarán listas muy pronto. Vuelve a intentarlo en breve.",
    "notInstructor": "Esta zona es para instructores. Solicita el alta y se desbloqueará en cuanto te aprobemos."
  },
  "content": {
    "reviewed": "Revisado el {date}",
    "onThisPage": "En esta página",
    "eyebrowAbout": "Quiénes somos",
    "eyebrowSafety": "Antes de reservar",
    "eyebrowPricing": "Una comisión y nada más",
    "eyebrowContact": "Leemos todos los mensajes",
    "eyebrowFaq": "Respuestas, no publicidad",
    "eyebrowHowItWorks": "Tres pasos",
    "eyebrowBecomeInstructor": "Enseña en tus condiciones"
  },
  "contact": {
    "emailLabel": "Correo de contacto",
    "emailHint": "Escríbenos a esta dirección desde tu correo habitual. Si tu duda es general, puede que ya esté resuelta en las"
  },
  "apiDocs": {
    "eyebrow": "Para escuelas de esquí",
    "contents": "En esta página",
    "copy": "Copiar",
    "copied": "Copiado"
  },
  "footer": {
    "product": "Producto",
    "howItWorks": "Cómo funciona",
    "becomeInstructor": "Hazte instructor",
    "forSchools": "Para escuelas de esquí",
    "apiForSchools": "API para escuelas de esquí",
    "safety": "Seguridad y confianza",
    "pricing": "Precios y comisiones",
    "company": "Empresa",
    "about": "Sobre Alpine Pal",
    "contact": "Contacto",
    "faq": "Preguntas frecuentes",
    "legal": "Legal",
    "terms": "Términos del servicio",
    "privacy": "Política de privacidad",
    "cookies": "Política de cookies",
    "instagram": "Alpine Pal en Instagram",
    "photoCredits": "Créditos de las fotos",
    "rights": "Todos los derechos reservados."
  },
  "school": {
    "eyebrow": "Para escuelas de esquí",
    "ctaTitle": "Da de alta tu escuela de esquí",
    "ctaBody": "El registro es gratuito y no hay cuota mensual. Crea una cuenta para registrar tu escuela; revisamos cada escuela a mano antes de publicarla.",
    "ctaButton": "Crear una cuenta",
    "instructorCannotRegister": "Esta cuenta ya tiene un perfil de instructor. Una escuela se gestiona desde su propia cuenta — regístrate con otro email para darla de alta.",
    "ctaInstructorLink": "¿Eres instructor independiente?",
    "ctaInstructorLinkCta": "Solicítalo aquí",
    "formTitle": "Da de alta tu escuela",
    "formIntro": "Cuéntanos quiénes sois y dónde dais clase. El registro es gratuito y no te compromete a nada.",
    "nameLabel": "Nombre de la escuela",
    "countryLabel": "País",
    "countryPlaceholder": "Elige un país",
    "contactEmailLabel": "Email de contacto",
    "phoneLabel": "Teléfono (opcional)",
    "phonePrefixLabel": "Prefijo",
    "websiteLabel": "Web (opcional)",
    "descriptionLabel": "Sobre la escuela",
    "descriptionPlaceholder": "Qué enseñáis, dónde y desde cuándo. Aparecerá en vuestra página pública.",
    "submitButton": "Enviar solicitud",
    "descriptionMin": "Mínimo {min} caracteres ({count}/{min}).",
    "descriptionOk": "Aparecerá en vuestra página pública.",
    "missingName": "Pon el nombre de la escuela",
    "missingCountry": "Elige un país",
    "missingEmail": "Añade un email de contacto",
    "heardFromLabel": "¿Cómo conocisteis Alpine Pal?",
    "missingHeardFrom": "Cuéntanos cómo conocisteis Alpine Pal",
    "missingDescription": "Escribe al menos {min} caracteres sobre la escuela",
    "reviewNote": "Solemos responder en un día laborable.",
    "submitted": "Solicitud enviada — te avisaremos por email cuando esté revisada.",
    "statusPending": "Tu escuela está pendiente de revisión. Te avisaremos por email en cuanto esté aprobada.",
    "statusVerified": "Tu escuela está aprobada y publicada.",
    "statusRejected": "Tu solicitud de escuela no ha sido aprobada. Escríbenos si puedes documentar la autorización de la escuela.",
    "goToDashboard": "Ir a tu panel",
    "badgeVerified": "Verificada",
    "imagesTitle": "Imágenes de la página pública",
    "logoLabel": "Logo de la escuela",
    "logoHint": "Sale junto al nombre en vuestra página pública. Cuadrado, JPG/PNG/WebP.",
    "coverLabel": "Foto de cabecera",
    "coverHint": "La foto grande que abre vuestra página pública.",
    "coverHintDefault": "Aún no habéis subido ninguna: se muestra la foto por defecto de Alpine Pal.",
    "galleryLabel": "Galería de fotos",
    "galleryHint": "Hasta {max} fotos, debajo de vuestra descripción en la página pública: clases, grupos, vuestros instructores, la estación. Con las flechas cambiáis el orden.",
    "faqTitle": "Preguntas frecuentes",
    "pageContact": "Contacto",
    "pageInstructorsTitle": "Instructores de {school}",
    "pageNoInstructors": "Aún no hay instructores publicados.",
    "unassigned": {
      "title": "Clases sin instructor asignado",
      "intro": "{school} vende estas clases sin decir quién las dará: reserva y paga, y la escuela asigna a un instructor de su equipo, al que conoces en el punto de encuentro. Cualquier duda se resuelve con la escuela en el chat.",
      "places": "La escuela publica cuántas clases puede dar a la vez: una hora se ofrece mientras le quede alguna plaza.",
      "reviews": "Lo que dicen los clientes de la escuela"
    },
    "booking": {
      "title": "Reserva una clase con {school}",
      "who": "Quién da la clase",
      "schoolOption": "La escuela elige al instructor",
      "instructorNote": "Reservar con {name} aquí o desde su perfil es la misma clase al mismo precio.",
      "show": "Ver disponibilidad",
      "hide": "Ocultar disponibilidad",
      "reviewsOf": "Reseñas de {name}"
    },
    "groupClasses": {
      "title": "Próximas clases grupales",
      "intro": "Una plaza en un grupo, a precio fijo por persona. Elige una para verla en el calendario y reservar tu plaza.",
      "previous": "Clases anteriores",
      "next": "Más clases"
    },
    "instructorBadge": "Escuela",
    "resortsTitle": "Estaciones",
    "resortsLabel": "Estaciones en las que trabajáis",
    "resortsHint": "Marca todas las estaciones en las que trabaja la escuela. Las clases sin instructor asignado solo se publican en ellas.",
    "missingResorts": "elige al menos una estación",
    "point1": "Vende clases particulares sin nombrar al instructor, clases grupales por plaza y las horas de tus propios instructores.",
    "point2": "Revisamos tu escuela a mano antes de publicar nada.",
    "point3": "El 90% de cada clase entra en el saldo de la escuela, con factura por retirada."
  },
  "invitation": {
    "title": "{school} te invita a dar clases",
    "body": "Esta invitación se envió a {email}. Crea una cuenta con esa dirección — o entra en una que la tenga verificada — y completa tu perfil de instructor.",
    "adminTitle": "{school} te invita a administrar su cuenta",
    "adminBody": "Esta invitación se envió a {email}. Crea una cuenta con esa dirección — o entra en una que la tenga verificada — y acepta para empezar a gestionar la escuela.",
    "adminExplain": "Gestionarás el perfil de la escuela, sus instructores y tarifas, y sus ingresos. Solo quien creó la escuela puede añadir o quitar administradores.",
    "adminAccept": "Aceptar la invitación",
    "adminCannotAccept": "Esta cuenta ya tiene un rol, así que no puede gestionar una escuela. Entra con la cuenta del email invitado.",
    "invalid": "Este enlace de invitación no es válido.",
    "expired": "Esta invitación ha caducado. Pide a la escuela que la reenvíe.",
    "revoked": "La escuela ha retirado esta invitación.",
    "accepted": "Esta invitación ya se ha usado.",
    "roleCannotAccept": "Esta cuenta ya tiene un rol, así que no puede aceptar una invitación de instructor. Entra con la cuenta del email invitado.",
    "join": {
      "title": "Únete a {school} con tu perfil actual",
      "sentTo": "Esta invitación se envió a {email}.",
      "intro": "Tu perfil, tus valoraciones y tus fotos se quedan exactamente como están. Lo que cambia:",
      "rate": "Tu tarifa pasa a ser {rate}/h",
      "extraRate": "más {rate} por alumno adicional",
      "formats": "Venderás con las franjas, temporadas y precios de {school}",
      "changeRates": "A partir de ahora tus tarifas las fija la escuela.",
      "changeCalendar": "Tu calendario lo lleva la escuela, con sus horas abiertas: sustituyen a las tuyas.",
      "changeEarnings": "A partir de ahora el dinero de tus clases lo cobra la escuela.",
      "changeBadge": "La escuela responde de tu perfil.",
      "changeLeave": "Si más adelante dejas la escuela, tu perfil se pausa hasta que lo revisemos de nuevo.",
      "pendingBecomesVerified": "Tu perfil sigue pendiente de revisión. Al unirte queda verificado: la escuela es la revisión.",
      "button": "Unirme a {school}",
      "confirmTitle": "¿Unirte a {school}?",
      "confirmBody": "A partir de ahora la escuela fija tus tarifas, lleva tu calendario y cobra el dinero de tus clases. Tu perfil y lo que hay en él siguen siendo tuyos.",
      "confirm": "Sí, unirme a la escuela",
      "done": "Ya das clases para {school}.",
      "blocked": {
        "closed": "Esta cuenta está cerrada.",
        "noProfile": "Esta cuenta todavía no tiene perfil de instructor.",
        "currencyMismatch": "Tu perfil está en {mine} y la escuela trabaja en {theirs}. La moneda de un perfil no se puede cambiar, así que esta invitación no se puede aceptar con este perfil.",
        "alreadyInSchool": "Ya das clases para una escuela. Pide a esa escuela que te quite de su plantilla antes de aceptar otra invitación.",
        "rejected": "Tu perfil no fue aprobado. Pide que lo revisemos de nuevo antes de unirte a una escuela.",
        "rejectedLink": "Pedir una nueva revisión",
        "notCertified": "Solo los instructores titulados pueden unirse a una escuela. Cambia primero tu perfil a instructor titulado.",
        "notCertifiedLink": "Editar mi perfil",
        "outstandingBalance": "Todavía tienes {amount} en tu propio saldo. Retíralo, y espera a que se liquide toda clase ya pagada, antes de unirte a una escuela.",
        "outstandingBalanceLink": "Ir a ganancias"
      }
    },
    "claim": {
      "title": "{school} ha creado tu perfil de instructor",
      "body": "Para que sea tuyo, entra o crea tu cuenta con el correo al que te llegó este enlace ({email}).",
      "sentTo": "Enlace enviado a {email}.",
      "intro": "Este es el perfil que {school} ha publicado con tu nombre. Reclámalo y será tuyo: podrás editarlo y hablar con tus alumnos.",
      "keepsRates": "Sigues en {school}: tus tarifas las fija la escuela.",
      "keepsCalendar": "{school} sigue llevando tu calendario y tus solicitudes hasta que te los ceda.",
      "keepsMoney": "El dinero de tus clases lo sigue cobrando {school}, como hasta ahora.",
      "takesAlong": "Si algún día dejas la escuela, el perfil se va contigo, con sus reseñas.",
      "viewProfile": "Ver el perfil de {name}",
      "button": "Reclamar mi perfil",
      "done": "El perfil ya es tuyo",
      "blocked": {
        "hasProfile": "Esta cuenta ya tiene un perfil de instructor, así que no puede reclamar otro. Pide a {school} una invitación por email: te unirás con tu perfil, con tus reseñas, y la escuela retirará el que creó.",
        "schoolPaused": "{school} no está publicada en Alpine Pal ahora mismo. Podrás reclamar el perfil cuando vuelva a estarlo.",
        "managesSchool": "Esta cuenta gestiona una escuela, y una cuenta de escuela no puede ser instructor. Entra con otra cuenta para reclamar el perfil."
      },
      "acceptResponsibility": "Confirmo que tener en vigor la titulación, la licencia y el seguro que exigen las estaciones de este perfil es responsabilidad mía, que lo que dice el perfil sobre mí es cierto, y que acepto los"
    }
  },
  "schoolDash": {
    "title": "Panel de escuela",
    "notManaging": "No estás gestionando ninguna escuela.",
    "notManagingGo": "Ir a las escuelas",
    "verifiedNote": "Tu escuela está aprobada. Invita a instructores y mantén tu página al día.",
    "imagesNudgeBoth": "Tu página pública aún no tiene logo ni foto de cabecera",
    "imagesNudgeLogo": "Tu página pública aún no tiene logo",
    "imagesNudgeCover": "Tu página pública aún no tiene foto de cabecera",
    "imagesNudgeBody": "La cabecera de la página de tu escuela es lo primero que ven los clientes.",
    "imagesNudgeCta": "Subir imágenes",
    "instructorsHint": "Invita a instructores o añádelos sin email, fija sus tarifas y gestiona tu plantilla.",
    "earningsHint": "Saldo, retiradas y cómo cobra la escuela.",
    "bookingsHint": "Solicitudes, próximas clases e historial de todos tus instructores.",
    "requestsSection": "Solicitudes",
    "upcomingSection": "Próximas clases",
    "historySection": "Historial",
    "noBookings": "Aún no hay nada aquí.",
    "instructorAnswers": "Esta la responde el instructor.",
    "openBooking": "Abrir",
    "unassignedRow": "Clase sin instructor asignado",
    "messagesHint": "Los chats con los clientes de tus clases sin instructor asignado y de tus instructores sin cuenta.",
    "messagesNote": "Los chats en los que escribe tu escuela: las clases sin instructor asignado y los instructores que añadiste sin cuenta. Los instructores con cuenta llevan su propio chat.",
    "acting": {
      "banner": "Estás gestionando {name} como Alpine Pal.",
      "exit": "Salir",
      "moneyReadOnly": "Los cobros y las retiradas son de la escuela: aquí puedes verlos, pero no cambiarlos.",
      "apiReadOnly": "Las claves de API, los webhooks y sus secretos son de la escuela: aquí puedes ver la configuración, pero no cambiarla.",
      "calendarNotice": "El Google Calendar es de la escuela: no se gestiona desde aquí.",
      "messagesNotice": "Ves estas conversaciones como Alpine Pal, no como la escuela."
    },
    "cancelLesson": "Cancelar clase",
    "cancelLessonTitle": "¿Cancelar esta clase?",
    "cancelLessonBody": "Al cliente se le devuelve el importe íntegro y se le avisa de que la escuela ha cancelado. No se puede deshacer.",
    "managementLabel": "Gestionado por",
    "managedByInstructor": "El instructor",
    "managedBySchool": "La escuela",
    "calendarLink": "Calendario",
    "calendarManagedByInstructor": "Este instructor gestiona su propio calendario. Para editarlo aquí, ponlo como \"gestionado por la escuela\" en la plantilla.",
    "calendarPickPlaceholder": "Elige un instructor",
    "assignInstructor": "Asignar",
    "assignedToast": "Clase asignada. Hemos avisado al instructor y al cliente.",
    "assignNobody": "Ningún instructor activo de tu plantilla da clases en esta estación.",
    "assignGroupFromCalendar": "Clase grupal: el instructor se asigna a toda la clase desde el calendario.",
    "calendarUnassignedOption": "Clases sin instructor asignado",
    "calendarUnavailable": "Ese calendario no está disponible: el instructor ya no está en tu plantilla.",
    "api": {
      "title": "Conecta tu sistema de reservas",
      "intro": "Tu channel manager o tu propio software puede leer y escribir los calendarios de tus instructores, recibir las reservas en cuanto se pagan y responder solicitudes. Todo pasa por la API de abajo con una de tus claves.",
      "baseUrl": "URL base",
      "keysTitle": "Claves de API",
      "keysIntroOwner": "Una clave da acceso completo a los calendarios y reservas de tu plantilla. Crea una por cada sistema que conectes y revócala el día que dejes de usarlo.",
      "keysIntro": "Solo el titular de la escuela puede crear o revocar claves. Pídesela si necesitas una.",
      "keyName": "¿Para qué es esta clave?",
      "keyNamePlaceholder": "p. ej. Mi programa de reservas",
      "createKey": "Crear clave",
      "keyCreatedTitle": "Tu nueva clave de API",
      "keyCreatedBody": "Cópiala ahora y guárdala en un sitio seguro. Por seguridad solo conservamos una huella de ella, así que no se puede volver a mostrar.",
      "copy": "Copiar",
      "copied": "Copiada",
      "keyCreated": "Creada el {date}",
      "keyLastUsed": "último uso {date}",
      "keyNeverUsed": "sin usar",
      "keyRevoked": "Revocada",
      "revokeKey": "Revocar",
      "revokeKeyTitle": "¿Revocar esta clave?",
      "revokeKeyBody": "Lo que siga usando \"{name}\" dejará de funcionar al momento. No se puede deshacer.",
      "keyRevokedToast": "Clave revocada",
      "noKeys": "Aún no hay claves.",
      "docsLink": "Leer la documentación de la API",
      "webhooksTitle": "Webhooks",
      "webhooksIntro": "Enviamos por POST cada evento de reserva a las URL que registres, firmado con el secreto del endpoint. Si un endpoint falla una y otra vez, reintentamos unos tres días y luego lo desactivamos.",
      "webhookUrl": "URL (https)",
      "webhookDescription": "Descripción",
      "webhookEvents": "Eventos",
      "allEvents": "Todos los eventos",
      "addWebhook": "Añadir endpoint",
      "noWebhooks": "Aún no hay endpoints.",
      "webhookSaved": "Guardado",
      "webhookActive": "Activo",
      "webhookDisabled": "Apagado",
      "webhookFailing": "{count} fallos seguidos",
      "webhookFailing_one": "{count} fallo",
      "lastDelivery": "última entrega {date}",
      "sendTest": "Enviar prueba",
      "testSent": "Prueba entregada: tu endpoint ha respondido con un código correcto.",
      "testFailed": "La prueba no ha llegado ({error}).",
      "revealSecret": "Ver secreto",
      "hideSecret": "Ocultar secreto",
      "rotateSecret": "Rotar secreto",
      "rotateSecretTitle": "¿Emitir un secreto nuevo?",
      "rotateSecretBody": "El secreto actual deja de valer al momento. Actualiza tu sistema con el nuevo antes del siguiente evento.",
      "deleteWebhook": "Quitar",
      "deleteWebhookTitle": "¿Quitar este endpoint?",
      "deleteWebhookBody": "Deja de recibir eventos y su registro de entregas se borra. No se puede deshacer.",
      "deliveries": "Entregas",
      "noDeliveries": "Todavía no se ha entregado nada.",
      "sandbox": {
        "title": "Entorno de pruebas",
        "intro": "Una copia de prueba de tu escuela con instructores ficticios, donde tu sistema puede publicar calendarios, recibir reservas por webhook y responderlas sin dinero ni correos. Las claves de prueba empiezan por ap_test_ y solo llegan a la copia; la primera la crea.",
        "createKey": "Crear clave de prueba",
        "keyNamePlaceholder": "p. ej. Pruebas de mi programa de reservas",
        "empty": "Aún no hay entorno de pruebas: crea una clave de prueba para montarlo.",
        "instructorsTitle": "Qué hay dentro",
        "instantOn": "confirma al instante",
        "instantOff": "responde las solicitudes a mano",
        "seatLabel": "Clases sin instructor asignado",
        "customerNote": "POST /sandbox/bookings hace de cliente: crea una reserva pagada sobre cualquiera de estos ids. Nada del entorno de pruebas es público nunca.",
        "reset": "Vaciar el entorno de pruebas",
        "resetTitle": "¿Vaciar el entorno de pruebas?",
        "resetBody": "Se borran todas las reservas y chats de la copia de prueba. Las claves, los webhooks y los calendarios se quedan.",
        "resetToast": "Entorno vaciado: {count} reservas borradas",
        "resetToast_one": "Entorno vaciado: {count} reserva borrada"
      },
      "deliveryStatus": {
        "pending": "Pendiente",
        "delivered": "Entregada",
        "failed": "Fallida"
      }
    },
    "savedToast": "Guardado",
    "inviteTitle": "Invitar a un instructor",
    "inviteIntro": "Recibe un email, completa su propio perfil y queda publicado como instructor de tu escuela. Los precios los pones tú: con tus franjas o por horas. Su calendario lo llevas tú, con las horas abiertas de tu escuela.",
    "inviteVouches": "No se pide título: al invitar a esta persona, respondes de que cumple lo que tu cantón exige para dar clase en pista. Sin título propio no podrá ofrecer clases fuera de pista.",
    "inviteEmailLabel": "Email",
    "inviteRateLabel": "Tarifa/h",
    "inviteExtraLabel": "Extra/alumno",
    "inviteModeLabel": "Cómo venderá",
    "inviteModeFormats": "Con las franjas de la escuela",
    "inviteModeHours": "Por horas",
    "inviteModeFormatsHint": "Venderá con las franjas, temporadas y precios de tus clases sin instructor asignado, sin tarifa por hora. Cuando cambies las tuyas, cambian también las suyas.",
    "inviteModeFormatsNone": "Todavía no tienes franjas: ponlas en Clases privadas, en las clases sin instructor asignado. Hasta entonces sus clases no se podrán reservar; cuando las guardes, le aparecerán solas.",
    "schoolFormatsShort": "Franjas de la escuela",
    "ownFormatsShort": "Franjas propias",
    "schoolHoursShort": "con las horas de la escuela",
    "inviteButton": "Invitar",
    "inviteSent": "Invitación enviada.",
    "invitationsTitle": "Invitaciones",
    "invitationStatus": {
      "pending": "Pendiente",
      "accepted": "Aceptada",
      "revoked": "Revocada",
      "expired": "Caducada"
    },
    "expiresOn": "caduca {date}",
    "resend": "Reenviar",
    "revoke": "Revocar",
    "rosterTitle": "Tus instructores",
    "noInstructors": "Aún nadie — invita arriba a tu primer instructor.",
    "instructorClosed": "Cuenta cerrada",
    "instructorActive": "{count} clases impartidas",
    "instructorActive_one": "{count} clase impartida",
    "instructorInactive": "Sin publicar",
    "remove": "Dar de baja",
    "removeTitle": "¿Dar de baja de la escuela?",
    "removeBody": "{name} quedará sin publicar hasta que revisemos su perfil. El dinero ya generado se queda en la escuela.",
    "removedToast": "Dado de baja de la plantilla.",
    "adminsTitle": "Administradores",
    "adminsIntro": "Quiénes pueden gestionar esta escuela.",
    "adminsIntroOwner": "Quiénes pueden gestionar esta escuela. Los administradores pueden hacerlo todo salvo añadir o quitar administradores.",
    "adminInviteLabel": "Invitar a un administrador por email",
    "adminInviteButton": "Invitar",
    "adminInviteSent": "Invitación enviada.",
    "adminCreatorBadge": "Creador",
    "adminPendingTitle": "Invitaciones pendientes",
    "adminRemove": "Quitar",
    "adminRemoveTitle": "¿Quitar a este administrador?",
    "adminRemoveBody": "{name} perderá el acceso a la escuela inmediatamente. Su cuenta se conserva; solo se va el acceso.",
    "adminRemovedToast": "Administrador quitado.",
    "unassigned": {
      "title": "Clases sin instructor asignado",
      "notOnSale": "Todavía no están a la venta.",
      "rateLabel": "Precio por hora ({currency})",
      "rateHint": "Como mínimo {min} {currency}.",
      "rateOptional": "No hace falta: tus clases empiezan en {hours} horas, que ya tienen su precio.",
      "lengthLabel": "Duración de las clases",
      "lengthFrom": "Desde",
      "lengthTo": "a",
      "extraLabel": "Extra por alumno adicional ({currency})",
      "maxStudentsLabel": "Alumnos por clase, como máximo",
      "autoAcceptLabel": "Confirmar al instante cuando el cliente paga",
      "autoAcceptHint": "Apagado, aceptas o rechazas cada solicitud desde tus reservas. Tienes {hours} horas desde el pago (o hasta el inicio de la clase, si es antes); sin respuesta, caduca y se reembolsa íntegro al cliente.",
      "singleLevelLabel": "Un solo nivel y una edad por reserva",
      "singleLevelHint": "Encendido, una reserva no puede mezclar niveles (principiante, intermedio, avanzado) ni adultos con niños: el cliente hace una reserva para cada grupo, y cada una ocupa su propia plaza.",
      "rulesTitle": "Alumnos y reservas",
      "rulesHint": "Cuántos alumnos caben en una clase, qué enseñáis, con cuánta antelación se reserva y cómo se confirman las reservas.",
      "rulesStudents": "Hasta {count} alumnos",
      "rulesStudents_one": "Hasta {count} alumno",
      "rulesAuto": "Se confirman al pagar",
      "rulesManual": "Confirmas tú cada reserva",
      "rulesOneLevel": "Un nivel y una edad por reserva",
      "places": "Cada hora que publicas en el calendario lleva sus plazas: cuántas clases a la vez puedes vender en esa estación. Mientras quede una, la hora sigue a la venta.",
      "blocked": {
        "school_not_approved": "Tu escuela tiene que estar aprobada y publicada antes.",
        "no_resorts": "Elige antes las estaciones en las que trabaja la escuela.",
        "noResortsLink": "Estaciones",
        "price_below_minimum": "El precio por hora tiene que ser de al menos {min} {currency}.",
        "no_hourly_price": "Las clases de {from} h se cobran por horas: pon el precio por hora (al menos {min} {currency}) o haz que empiecen en {hours} horas, que ya tienen precio.",
        "bad_extra_price": "El extra por alumno no puede ser negativo.",
        "bad_max_students": "Los alumnos por clase tienen que estar entre 1 y 20.",
        "bad_formats": "Revisa las franjas y temporadas de arriba: lo que falta o falla está marcado en rojo.",
        "bad_duration_prices": "Revisa los precios por varias horas seguidas.",
        "bad_notice": "Elige uno de los plazos de antelación disponibles.",
        "bad_disciplines": "Elige la disciplina de estas clases: esquí, snowboard o las dos.",
        "bad_lesson_length": "La duración mínima no puede ser mayor que la máxima.",
        "bad_season_prices": "Revisa los precios por temporada.",
        "bad_included_students": "Los alumnos incluidos tienen que ser un número entre 1 y 20."
      }
    },
    "formats": {
      "formatsTitle": "Franjas",
      "formatsHint": "Hasta {max}, empezando y acabando en un cuarto de hora (en punto, y cuarto, y media o menos cuarto), entre las {start} y las {end}.",
      "copyFromSchoolNone": "La escuela todavía no tiene franjas en sus clases sin instructor asignado: puedes ponerlas aquí directamente.",
      "followSchool": "Usar las franjas de la escuela",
      "followSchoolHint": "Las franjas, temporadas y precios de tus clases sin instructor asignado: cuando cambies las tuyas, cambian también las de este instructor. Desactívalo para ponerle unas propias.",
      "followersNote": "Instructores que venden con estas franjas: {n}. Al guardar, las suyas cambian igual.",
      "kindLabel": "Tipo",
      "kind": {
        "morning": "Mañana",
        "afternoon": "Tarde",
        "full_day": "Día completo",
        "other": "Otro"
      },
      "startLabel": "Desde",
      "endLabel": "Hasta",
      "addFormat": "Añadir franja",
      "removeFormat": "Quitar franja",
      "seasonsTitle": "Temporadas y precios",
      "seasonsHint": "Cada temporada tiene sus fechas y un precio por franja, por clase y para todo el grupo. Si dejas un precio vacío, esa franja no se vende en esa temporada; en las fechas que no estén en ninguna temporada no se vende nada.",
      "extraLabel": "Extra por alumno adicional, por clase ({currency})",
      "extraHint": "Lo que suma cada alumno a partir del segundo, en todas las temporadas. Vacío o 0: el precio es para todo el grupo.",
      "seasonName": "Nombre (solo lo ves tú)",
      "seasonNamePlaceholder": "Temporada baja",
      "rangeFrom": "Desde",
      "rangeTo": "Hasta (incluido)",
      "addRange": "Añadir fechas",
      "removeRange": "Quitar estas fechas",
      "addSeason": "Añadir temporada",
      "removeSeason": "Quitar temporada",
      "placesNote": "Cada franja abierta lleva sus plazas: cuántas clases de esa franja puedes vender a la vez. Se vende un día si su temporada le da precio y le queda una plaza libre.",
      "blocked": {
        "no_formats": "Añade al menos una franja.",
        "too_many_formats": "Como máximo {max} franjas.",
        "bad_format_times": "Cada franja necesita un inicio anterior a su fin, en un cuarto de hora, entre las {start} y las {end}.",
        "duplicate_format": "Hay dos franjas con el mismo horario.",
        "no_seasons": "Añade al menos una temporada con sus fechas y precios.",
        "too_many_seasons": "Como máximo {max} temporadas.",
        "bad_season_dates": "Cada temporada necesita al menos un tramo de fechas, con el inicio no posterior al final.",
        "bad_season_name": "El nombre de una temporada tiene como máximo {max} caracteres.",
        "seasons_overlap": "Hay dos tramos de fechas que se solapan: un día solo puede estar en una temporada.",
        "season_without_prices": "Cada temporada necesita el precio de al menos una franja.",
        "price_below_minimum": "Cada precio tiene que ser de al menos {min} {currency} por hora de la franja.",
        "bad_pack_days": "Cada pack es de {days} a {max} días, sin repetir, y como mucho {count} distintos.",
        "bad_min_days": "El mínimo de una temporada es de 1 a {max} días.",
        "pack_price_below_minimum": "Cada precio de pack tiene que ser de al menos {min} {currency} por hora de la franja y por día."
      },
      "packsTitle": "Packs de varios días",
      "packsHint": "Cuántos días seguidos vendes también una franja. Cada temporada puede ponerles un precio para todo el grupo (vacío = cada día a su precio) y un mínimo de días.",
      "noPacks": "Ninguno: cada día se vende suelto",
      "packDaysLabel": "Días seguidos",
      "addPackDays": "Añadir",
      "addPackDaysN": "Añadir {days} días",
      "removePackDays": "Quitar {days} días",
      "packDaysTaken": "Ya vendes {days} días seguidos. Elige otro número.",
      "packDaysRange": "Entre {min} y {max} días.",
      "packDaysFull": "Como mucho {max} opciones. Quita una para añadir otra.",
      "minDays": "Mínimo de días seguidos en esta temporada",
      "packPriceLabel": "{format} · {days} días",
      "minDaysFormat": "{format}: mínimo de días seguidos"
    },
    "unclaimed": {
      "cardTitle": "Añadir instructor sin email",
      "cardIntro": "Para quien aún no tiene cuenta: escribes tú su perfil y se publica al momento. Respondes por él —solicitudes, calendario y chat— hasta que lo reclame con su propio correo.",
      "addTitle": "Añadir instructor sin email",
      "addIntro": "El perfil se publica en nombre de tu escuela y tú respondes por él hasta que su instructor lo reclame con su propio correo. Entonces le pediremos su fecha de nacimiento y que acepte las condiciones.",
      "addButton": "Añadir instructor",
      "editTitle": "Perfil de {name}",
      "editProfile": "Editar perfil",
      "createdToast": "Instructor añadido. Ahora sube su foto.",
      "nowAddPhoto": "Perfil creado. Sube su foto para que los clientes le pongan cara: es lo que más reservas trae.",
      "photoTitle": "Foto",
      "photoAfterSave": "Podrás subir su foto en cuanto guardes el perfil.",
      "photosHint": "Hasta tres fotos dando clase. Opcionales.",
      "bioLabel": "Presentación",
      "bioPlaceholder": "Quién es, cómo enseña, con quién trabaja mejor…",
      "bioHint": "Escríbela en cualquier idioma: la traducimos sola a los demás.",
      "resortsLabel": "Estaciones donde da clase",
      "resortsHint": "De las de tu país. Puedes cambiarlas cuando quieras.",
      "languagesLabel": "Idiomas en los que da clase",
      "yearsLabel": "Años de experiencia",
      "licenceRequired": "Aquí hace falta su número de licencia ({credential}) para publicar el perfil.",
      "licenceOptional": "Opcional, pero da confianza a los clientes.",
      "offPisteNeedsTitle": "En {countries}, «Fuera de pista», «Freeride» y «Big mountain» necesitan su propio título: indícalo en la titulación para poder marcarlos.",
      "activeLabel": "Publicado",
      "activeHint": "Apágalo para pausar el perfil sin borrarlo.",
      "consent": "Confirmo que esta persona ha aceptado que mi escuela publique su perfil en Alpine Pal y que tiene la titulación que se exige para dar clase en esas estaciones.",
      "consentAdmin": "Confirmo que la escuela me ha asegurado que esta persona ha aceptado que publique su perfil en Alpine Pal y que tiene la titulación que se exige para dar clase en esas estaciones.",
      "missingConsent": "Falta confirmar que lo ha aceptado",
      "badge": "Sin cuenta",
      "badgeHint": "Lo añadió tu escuela. Respondes por este perfil hasta que lo reclamen.",
      "managedLocked": "Lo lleva tu escuela hasta que se reclame el perfil.",
      "linkButton": "Enviar enlace para reclamarlo",
      "linkTitle": "Que {name} reclame su perfil",
      "linkIntro": "Le enviaremos un enlace por correo. Al abrirlo, entra o crea su cuenta con ese mismo correo y el perfil pasa a ser suyo, con sus reseñas. Sigue en tu escuela, con tus tarifas, y tú sigues llevando su calendario hasta que se lo cedas.",
      "linkSend": "Enviar enlace",
      "linkSentToast": "Enlace enviado",
      "linkPending": "Enlace enviado a {email} · caduca el {date}",
      "linkExpired": "El enlace enviado a {email} caducó el {date}",
      "removeBody": "Se cerrará el perfil de {name}: desaparece de la web y su enlace deja de funcionar. Sus clases pasadas siguen en tus listas. No se puede mientras tenga clases por delante.",
      "credentialTitle": "Titulación",
      "missingName": "Faltan el nombre y los apellidos",
      "missingLicence": "Falta el número de licencia",
      "missingOffPisteTitle": "Fuera de pista necesita su título",
      "missingPrice": "Falta una tarifa por encima del mínimo"
    },
    "lessonsHint": "Clases privadas y grupales: cómo se venden, a qué precio y en qué horas, las de la escuela y las de tu plantilla.",
    "cancellationHelp": "Vale para todas las clases que vende tu escuela: las privadas y grupales de tus instructores y las que no tienen instructor asignado. Una vez confirmada una clase, el cliente puede cancelarla con reembolso completo hasta este tiempo antes de que empiece; después, no hay reembolso. El cliente la ve en los perfiles y antes de pagar. Las reservas ya hechas conservan la política con la que se hicieron.",
    "lueira": {
      "statusActive": "Conectada",
      "statusBroken": "Desconectada",
      "statusReview": "En revisión",
      "reviewBody": "Hemos recibido tu clave. Estamos revisando la conexión y te avisaremos en cuanto esté todo listo. Mientras tanto no se envía ni se cambia nada en tu Lueira.",
      "reviewAdminBody": "La escuela solo ve que está en revisión. Mientras tanto no se envía nada a su Lueira y lo que vende allí no ocupa plaza aquí. Al aprobarla empieza la sincronización y la escuela recibe un aviso.",
      "approve": "Aprobar la conexión",
      "approveTitle": "¿Aprobar la conexión de Lueira?",
      "approveBody": "Las ventas de su Lueira empezarán a ocupar plaza aquí y las clases pagadas aquí entrarán en su Lueira. La escuela recibirá un correo.",
      "approvedToast": "Conexión aprobada",
      "intro": "Si llevas la escuela con Lueira, conéctala: las clases privadas que vendas en Lueira ocupan su plaza en tus clases sin instructor asignado, las clases grupales que conectes descuentan sus plazas, y cada clase pagada en Alpine Pal entra en tu Lueira, ya pagada.",
      "ownerOnly": "Solo el titular de la escuela puede conectar Lueira y cambiar su configuración.",
      "keyLabel": "Clave de la API de Lueira",
      "keyHint": "Créala en Lueira, en Ajustes > Desarrolladores > API Keys, con lectura y escritura en pedidos, y lectura en productos, instructores e inventario.",
      "keyReviewHint": "Al enviarla revisaremos la conexión y te avisaremos.",
      "connect": "Enviar clave",
      "connectedToast": "Clave recibida",
      "brokenBody": "Lueira ya no acepta la clave guardada, así que no se envía ni se recibe nada. Pega una clave nueva para volver a conectarla.",
      "failure": {
        "invalid": "Lueira no reconoce esta clave. Revisa que la has copiado entera y que no está revocada.",
        "scope": "La clave no tiene los permisos necesarios. Dale lectura y escritura en pedidos, y lectura en productos.",
        "unreachable": "No hemos podido hablar con Lueira. Inténtalo de nuevo en un rato.",
        "broken": "Lueira ya no acepta la clave. Pega una nueva.",
        "quota": "Se han agotado las peticiones de este mes de tu plan de Lueira.",
        "unavailable": "La conexión con Lueira no está disponible ahora mismo."
      },
      "mappingTitle": "Qué son tus clases en Lueira",
      "mappingDone": "Configurado: las clases pagadas aquí se crean así en tu Lueira.",
      "mappingMissing": "Elige al menos la estación, un producto, los tres niveles y el punto de encuentro. Hasta entonces no se crea nada en Lueira.",
      "readCatalog": "Leer de Lueira",
      "readCatalogHint": "Trae tus centros, productos, niveles, puntos de encuentro y partners. Gasta unas cinco peticiones de tu plan.",
      "choose": "Elige…",
      "none": "Ninguno",
      "chosen": "El elegido antes",
      "resort": "Estación",
      "location": "Centro",
      "productSki": "Producto de clase privada de esquí",
      "productSnowboard": "Producto de clase privada de snowboard",
      "level": {
        "beginner": "Nivel para principiantes",
        "intermediate": "Nivel para intermedios",
        "advanced": "Nivel para avanzados"
      },
      "meetingPoint": "Punto de encuentro",
      "partner": "Alpine Pal como partner (opcional)",
      "groupsTitle": "Cursillos y clases grupales",
      "groupsHint": "Elige qué productos de Lueira son cada cursillo: las plazas que vendas en Lueira se descuentan aquí, y las que se vendan aquí entran en tu Lueira. Si tienes un producto por nivel, elígelos todos. Un cursillo sin producto no se conecta.",
      "groupsPick": "Elige productos de Lueira",
      "groupsSearch": "Buscar producto",
      "groupsEmpty": "Pulsa «{button}» para ver tus productos.",
      "plan": "Tu plan de Lueira",
      "planUnknown": "No lo sé",
      "planQuota": "{n} peticiones al mes",
      "savedToast": "Guardado",
      "webhookTitle": "Avisos de Lueira",
      "webhookReady": "Funciona",
      "webhookIntro": "Para que lo que vendes en Lueira ocupe su plaza aquí, crea un webhook en Lueira, en Ajustes > Desarrolladores > Webhooks, con esta dirección y los eventos de pedidos (order.created, order.updated y order.cancelled). Después pega aquí el secreto de firma que te muestra Lueira.",
      "webhookSecret": "Secreto de firma del webhook",
      "statsPrivate": "Clases privadas",
      "statsGroup": "Clases grupales",
      "statsSent": "Enviadas a Lueira",
      "statsReceived": "Recibidas de Lueira",
      "statsReceivedSeats": "Plazas recibidas de Lueira",
      "statsRefused": "Con problema",
      "reconciledAt": "Ventas repasadas",
      "mappingGroupsOnly": "Configurado para los cursillos. Para enviar también las clases privadas, elige un producto, los tres niveles y el punto de encuentro.",
      "bookingSent": "En Lueira",
      "bookingPending": "Pendiente de enviar a Lueira",
      "bookingRefused": "No ha entrado en Lueira",
      "requests": "Peticiones de este mes",
      "requestsOf": "{used} de {quota}",
      "syncedAt": "Última sincronización",
      "never": "Todavía no",
      "lastError": "Último problema ({date}):",
      "syncNow": "Sincronizar ahora",
      "syncToast": "Sincronizando con Lueira",
      "disconnect": "Desconectar",
      "disconnectTitle": "¿Desconectar Lueira?",
      "disconnectBody": "Las clases pagadas aquí dejarán de llegar a tu Lueira, y lo que vendas allí dejará de ocupar su plaza aquí. Lo que ya está en Lueira se queda como está.",
      "disconnectedToast": "Lueira desconectada",
      "clash": "Lueira ha vendido una plaza ({when}) que ya estaba vendida en Alpine Pal: tenéis dos clases para una plaza.",
      "noSeat": "Todavía no tienes clases sin instructor asignado: ponles precio y horario en Clases privadas para que lo vendido en Lueira ocupe su plaza aquí.",
      "webhookLast": "Último aviso recibido de Lueira: {date}.",
      "webhookWaiting": "Todavía no ha llegado ningún aviso de Lueira. Para comprobarlo, envía un evento de prueba desde ese webhook en Lueira y vuelve a esta página.",
      "webhookBadSignature": "Han llegado avisos de Lueira, pero su firma no coincide con el secreto guardado. Copia otra vez el secreto de este webhook en Lueira y pégalo aquí.",
      "exportButton": "Descargar datos de Lueira",
      "exportHint": "Solo para administradores de Alpine Pal. Lee calendarios, precios, cursillos y alquiler sin escribir nada, y gasta unas decenas de peticiones del plan de la escuela.",
      "exportDone": "Datos descargados ({calls} peticiones).",
      "unsure": "No sabemos si la reserva {reference} ha entrado en Lueira. Búscala allí: si no está, pulsa «Sincronizar ahora»."
    },
    "connections": {
      "intro": "Conecta Alpine Pal con lo que ya usa tu escuela: tus clases aparecen en tu Google Calendar y, si trabajas con Lueira, todo queda en un solo sitio.",
      "developersTitle": "Otro programa de reservas",
      "developersIntro": "Si tu escuela trabaja con otro programa o con uno propio, se conecta con la API de Alpine Pal. Esta parte es para quien lo programe."
    }
  },
  "credits": {
    "title": "Créditos de las fotos",
    "intro": "Las fotografías de Alpine Pal proceden de Wikimedia Commons, con licencias que permiten el uso comercial siempre que se cite al autor y la licencia. Aquí están.",
    "resorts": "Fotos de estaciones",
    "photoBy": "Foto:"
  },
  "empty": {
    "noPending": "Sin reservas pendientes.",
    "noReviews": "Aún no hay reseñas."
  },
  "error": {
    "generic": "Algo salió mal.",
    "paymentsMisconfigured": "Los pagos no están configurados del todo. Escribe a info@alpinepal.com.",
    "paymentFailed": "No se pudo completar el pago. Inténtalo de nuevo.",
    "bookingLoadFailed": "No se pudo cargar la reserva."
  },
  "specialty": {
    "beginners": "Principiantes",
    "intermediate_technique": "Técnica intermedia",
    "advanced_technique": "Técnica avanzada",
    "children": "Niños",
    "families": "Familias",
    "freeride": "Freeride",
    "snowpark": "Snowpark",
    "racing_preparation": "Preparación de competición",
    "adaptive_skiing": "Esquí adaptado",
    "group_lessons": "Clases grupales",
    "adults": "Adultos",
    "carving": "Carving",
    "off_piste": "Fuera de pista",
    "moguls": "Baches",
    "big_mountain": "Big mountain",
    "nervous_skiers": "Esquiadores nerviosos",
    "powder": "Nieve polvo",
    "freestyle": "Freestyle"
  },
  "level": {
    "beginner": "Principiante",
    "intermediate": "Intermedio",
    "advanced": "Avanzado",
    "beginnerPiste": "Principiante · Pista verde/azul",
    "intermediatePiste": "Intermedio · Pista azul/roja",
    "advancedPiste": "Avanzado · Pista roja/negra",
    "all": "Todos los niveles"
  },
  "audience": {
    "all": "Todos",
    "children": "Niños",
    "adults": "Adultos",
    "agesRange": "{min}–{max} años",
    "agesFrom": "desde {min} años",
    "agesUpTo": "hasta {max} años"
  },
  "age": {
    "adult": "Adulto",
    "child": "Niño"
  },
  "cookies": {
    "title": "Política de cookies",
    "intro": "Alpine Pal usa cookies para dos cosas: que la web funcione —mantener la sesión, cobrar, recordar lo que elijas aquí— y, si nos dejas, medir cómo se usa y qué tal funcionan nuestros anuncios, para mejorar las dos cosas. Nunca vendemos tus datos.",
    "necessaryTitle": "Estrictamente necesarias",
    "necessaryBody": "Se ponen elijas lo que elijas: sin ellas no puedes iniciar sesión ni pagar. No se usan para seguirte.",
    "analyticsTitle": "Analítica",
    "analyticsBody": "Google Analytics cuenta visitas y páginas; Microsoft Clarity graba sesiones anonimizadas y mapas de calor para ver dónde se atasca la gente. Solo miden si lo aceptas.",
    "advertisingTitle": "Publicidad",
    "advertisingBody": "Google Ads nos dice qué anuncio te trajo hasta aquí y si acabó en una reserva, y puede volver a enseñarte nuestros anuncios en otros sitios. La etiqueta carga para todo el mundo, pero no guarda nada en tu dispositivo ni personaliza nada mientras no lo aceptes.",
    "colName": "Cookie",
    "colProvider": "La pone",
    "colPurpose": "Para qué sirve",
    "colDuration": "Dura",
    "purpose": {
      "consent": "Recuerda lo que has elegido en este aviso, para no volver a preguntártelo.",
      "session": "Mantiene tu sesión iniciada y asocia el navegador con tu cuenta.",
      "payments": "Stripe la usa para procesar el pago y detectar fraude. Solo se pone al llegar al pago.",
      "clarity": "Identifica la sesión de navegación para que la grabación no se corte entre páginas.",
      "clarityId": "Identificador anónimo con el que Microsoft distingue las visitas que vuelven.",
      "ga": "Distingue las visitas y las sesiones para que los informes de tráfico cuadren.",
      "gclAu": "Enlaza tu reserva con el anuncio en el que hiciste clic, para saber cuáles merecen la pena.",
      "googleAds": "Las pone Google en sus propios dominios para medir los anuncios y, si lo permites, personalizarlos.",
      "salesLink": "Si llegas por el enlace de uno de nuestros comerciales, recuerda cuál era, para saber a quién se debe tu alta si te registras como escuela o como instructor. Solo se guarda si aceptas la publicidad; si no, no se guarda nada y solo cuenta si te registras en esa misma visita."
    },
    "yourChoiceTitle": "Lo que has elegido",
    "currentChoice": "Ahora mismo",
    "stateUndecided": "sin decidir",
    "stateAccepted": "analítica y publicidad aceptadas",
    "stateRejected": "analítica y publicidad rechazadas",
    "askAgain": "Volver a preguntarme",
    "withdrawNote": "Puedes cambiarlo cuando quieras. Retirarlo tiene efecto al recargar la página; las cookies ya puestas caducan solas o puedes borrarlas desde el navegador.",
    "browserTitle": "Desde tu navegador",
    "browserBody": "Cualquier navegador permite bloquear o borrar cookies desde sus ajustes de privacidad. Si bloqueas las estrictamente necesarias, dejarán de funcionar el inicio de sesión y los pagos.",
    "bannerTitle": "Cookies en Alpine Pal",
    "bannerBody": "Usamos las cookies que la web necesita para funcionar. Con tu permiso nos gustaría además medir cómo se usa y qué tal funcionan nuestros anuncios, con Microsoft Clarity, Google Analytics y Google Ads.",
    "acceptAll": "Aceptar",
    "rejectAll": "Solo esenciales",
    "readPolicy": "Ver el detalle"
  },
  "instructorProfile": {
    "priceSetBySchool": "Tus tarifas las fija tu escuela.",
    "managedBySchool": "Tu escuela gestiona tu calendario y los ajustes de tus reservas.",
    "resortsHint": "Añade o quita las estaciones donde das clase. Las nuevas empiezan con el calendario vacío: abre tus horas desde Clases privadas. Al quitar una se conservan los horarios que tuvieras en las demás.",
    "resortsEmpty": "Necesitas al menos una estación para recibir reservas.",
    "credentialFirst": "Añádelo en Certificaciones, más arriba, y guarda; después podrás añadir estas estaciones.",
    "reverifyOnSave": "Tus certificaciones están verificadas. Al guardar este cambio figurarán como declaradas hasta que las revisemos."
  },
  "lesson": {
    "askTitle": "¿Se dio la clase?",
    "askBody": "Confírmala y le pagamos su parte al instructor. Si hubo algún problema, dínoslo y retenemos el pago mientras lo revisamos.",
    "confirm": "Sí, confirmar la clase",
    "report": "Hubo un problema",
    "reasonPlaceholder": "Cuéntanos qué pasó: el instructor no apareció, la clase duró mucho menos de lo reservado…",
    "sendReport": "Enviar la reclamación",
    "confirmedToast": "Gracias. El instructor ya tiene su parte.",
    "confirmTitle": "¿Confirmar que la clase se dio?",
    "confirmBody": "Esto libera el pago al instructor. Confirma solo si la clase ocurrió de verdad: no se puede deshacer.",
    "reportedToast": "Recibido. Lo revisamos y te contamos.",
    "reportTooLate": "Este pago ya se ha retirado, así que no se puede retener. Escríbenos y lo resolvemos.",
    "disputeOpenTitle": "Lo estamos revisando",
    "disputeOpenBody": "El pago al instructor está retenido hasta que lo resolvamos. Te escribiremos.",
    "completedNote": "Esta clase está confirmada y liquidada.",
    "noShowNote": "El instructor ha indicado que no te presentaste a esta clase.",
    "noShowReport": "¿No fue así? Informar de un problema",
    "reportLate": "¿Algo fue mal? Informar de un problema",
    "pendingBadge": "Pendiente de que confirmes"
  },
  "lessonFormats": {
    "name": {
      "morning": "Clase de mañana",
      "afternoon": "Clase de tarde",
      "full_day": "Día completo",
      "other": "Clase"
    },
    "formatLabel": "Formato",
    "perLesson": "por clase",
    "fromPerLesson": "Desde {price} por clase",
    "wholeGroup": "Para todo el grupo, hasta {count} alumnos",
    "wholeGroup_one": "Para todo el grupo, hasta {count} alumno",
    "firstStudent": "Para 1 alumno",
    "extraPerStudent": "+{price} por cada alumno más, por clase",
    "markdownIntro": "Clases particulares en formatos fijos, con precio por clase para todo el grupo:"
  },
  "earnings": {
    "available": "Disponible",
    "pending": "Pendiente de confirmar",
    "onHold": "Retenido",
    "paid": "Retirado",
    "withdrawTitle": "Retirar a tu banco",
    "withdrawBody": "Los pagos no están configurados en este entorno. Tu saldo está a salvo y podrás retirarlo en cuanto se activen.",
    "payoutCountry": {
      "title": "¿Desde qué país cobras?",
      "body": "El país donde vives y pagas impuestos, que no tiene por qué ser donde das clase. Stripe te pedirá una dirección y una cuenta bancaria de ese país, y no se puede cambiar una vez creada la cuenta de cobros.",
      "manualBody": "El país donde vives y pagas impuestos, que no tiene por qué ser donde das clase. Stripe todavía no puede enviar dinero a tu país, así que tus retiradas las pagamos nosotros a mano.",
      "schoolTitle": "¿Desde qué país cobra la escuela?",
      "schoolBody": "El país de la empresa y de su cuenta bancaria, que no tiene por qué ser donde da las clases. Stripe pedirá datos y una cuenta bancaria de ese país, y no se puede cambiar una vez creada la cuenta de cobros.",
      "schoolManualBody": "El país de la empresa y de su cuenta bancaria, que no tiene por qué ser donde da las clases. Stripe todavía no puede enviar dinero a tu país, así que tus retiradas las pagamos nosotros a mano.",
      "placeholder": "Elige tu país",
      "default": "Si no eliges nada, usaremos {country}.",
      "saved": "País de cobro guardado.",
      "conversion": "Tus clases se cobran en {from}, y en ese país lo normal es tener la cuenta bancaria en {to}. Da a Stripe una cuenta en {from} si puedes: recibirás justo lo que ves aquí. Si la das en {to}, Stripe hará el cambio al llegar el dinero y el importe será algo distinto."
    },
    "connect": {
      "setupTitle": "Configura tus cobros",
      "setupBody": "Para retirar tu saldo necesitas una cuenta de cobros con Stripe. El proceso son unos minutos: identidad y cuenta bancaria. Stripe custodia tus datos; nosotros nunca los vemos.",
      "setupCta": "Configurar cobros",
      "continueCta": "Continuar configuración",
      "reviewBadge": "En revisión por Stripe",
      "readyBadge": "Cobros activos"
    },
    "withdraw": {
      "button": "Retirar {amount}",
      "minimumNote": "Retiro mínimo: {amount}",
      "confirmTitle": "¿Retirar tu saldo?",
      "confirmBody": "Se transferirán {amount} a tu cuenta bancaria a través de Stripe. Suele tardar unos días y no se puede cancelar una vez iniciada.",
      "confirmCta": "Sí, retirar",
      "successToast": "Retirada en camino. Stripe la ingresará en tu banco en unos días.",
      "waitingToast": "Retirada en camino. El dinero de las últimas clases aún se está asentando: la enviaremos en cuanto llegue y te avisaremos por correo.",
      "waitingTitle": "Tu retirada de {amount} está en camino",
      "waitingBody": "El dinero de las últimas clases aún se está asentando en Stripe, lo que suele tardar unos días. La enviaremos nosotros en cuanto esté, sin que tengas que hacer nada, y te avisaremos por correo cuando salga.",
      "error": {
        "not_enabled": "Termina la configuración de cobros antes de retirar.",
        "no_funds": "No tienes saldo disponible ahora mismo.",
        "below_minimum": "Tu saldo disponible no llega al mínimo de retiro.",
        "in_progress": "Ya hay una retirada en curso. Espera a que termine.",
        "transfer_failed": "La transferencia ha fallado. Tu saldo vuelve a estar disponible; inténtalo de nuevo.",
        "no_fiscal_details": "Añade tus datos fiscales antes de retirar."
      },
      "confirmManual": "Vamos a enviarte {amount} al método de cobro que has guardado. Lo revisamos y te lo mandamos a mano, así que tarda algo más que una transferencia automática; te avisamos por email en cuanto salga.",
      "successManual": "Retirada solicitada. Te enviaremos el dinero y te avisaremos por email."
    },
    "withdrawals": {
      "title": "Retiradas",
      "invoiceLink": "Factura",
      "status": {
        "processing": "En curso",
        "paid": "Completada",
        "failed": "Fallida",
        "awaiting_funds": "En espera de fondos",
        "awaiting_payout": "Pendiente de envío"
      }
    },
    "movements": "Movimientos",
    "colRef": "Ref",
    "colDate": "Fecha",
    "colInstructor": "Instructor",
    "colResort": "Estación",
    "colAmount": "Tu parte",
    "colStatus": "Estado",
    "empty": "Aquí todavía no hay nada. Cuando se confirme una clase, tu {percent}% aparece en esta lista.",
    "status": {
      "pending_completion": "Pendiente de confirmar",
      "pending_review_period": "En revisión",
      "available": "Disponible",
      "processing": "En pago",
      "paid": "Retirado",
      "failed": "Devuelto al cliente",
      "on_hold": "Retenido"
    },
    "manual": {
      "setupTitle": "Dinos cómo quieres cobrar",
      "setupBody": "Stripe todavía no llega a tu país, así que tus retiradas te las pagamos nosotros por PayPal, Payoneer o transferencia bancaria. Puedes seguir dando clases y acumular saldo mientras tanto: solo hace falta para sacarlo.",
      "setupCta": "Configurar cobro",
      "readyBadge": "Cobrarás en {email}",
      "readyBadgeBank": "Cobrarás por transferencia en el IBAN que termina en {last4}"
    },
    "commissionNote": "Desde el {date}, Alpine Pal se queda el {percent}% de cada clase nueva. Las vendidas antes conservan su comisión.",
    "referralNote": "Gracias al programa de invitación, tus próximas reservas pagan un {percent} % de comisión en vez del {standard} %: te quedan {remaining}, hasta el {date}."
  },
  "fiscal": {
    "title": "Datos fiscales",
    "hint": "Con estos datos emitimos la factura de nuestra comisión. Los necesitas para retirar tu saldo. No se muestran en tu perfil público.",
    "legalName": "Nombre completo o razón social",
    "taxId": "NIF o número fiscal",
    "vatId": "Número de IVA (opcional)",
    "vatIdHint": "Si tienes uno, con el prefijo de tu país, como ESB12345678.",
    "address": "Domicilio fiscal",
    "postalCode": "Código postal",
    "city": "Ciudad",
    "countryCode": "País",
    "countryPlaceholder": "Elige el país",
    "saved": "Datos fiscales guardados.",
    "missingTitle": "Añade tus datos fiscales",
    "missingBody": "Los necesitamos para emitir la factura de nuestra comisión. Sin ellos no puedes retirar tu saldo.",
    "missingCta": "Añadir datos fiscales",
    "invoicesTitle": "Facturas de Alpine Pal",
    "invoicesEmpty": "Todavía no tienes facturas de Alpine Pal.",
    "error": {
      "legalName": "Escribe tu nombre completo o el de tu empresa.",
      "taxId": "Escribe tu número fiscal completo.",
      "taxIdSpain": "Este NIF no es válido: revisa los números y la letra.",
      "vatId": "Este número no parece correcto: debe empezar por el prefijo de tu país, como ESB12345678.",
      "address": "Escribe la calle y el número.",
      "postalCode": "Escribe el código postal.",
      "city": "Escribe la ciudad.",
      "countryCode": "Elige el país."
    }
  },
  "account": {
    "menu": "Tu cuenta",
    "security": "Seguridad y acceso",
    "signOut": "Cerrar sesión",
    "closeTitle": "Cerrar tu cuenta",
    "closeBody": "Esto no se puede deshacer. Se borran tu perfil, tu historial de chat y tus notificaciones, y se cierra tu sesión.",
    "closeKept": "Conservamos lo que la ley nos obliga a conservar: tus reservas y los registros de pago por temas fiscales, y las reseñas que hayas escrito, que siguen publicadas con tu nombre, tal y como explican los términos. Si eres instructor, antes tienes que haber cobrado todo tu dinero. Puedes volver a registrarte más adelante con el mismo correo.",
    "closeAction": "Cerrar mi cuenta",
    "confirmTitle": "¿Cerrar tu cuenta definitivamente?",
    "confirmBody": "Se borra todo salvo los registros indicados y se cerrará tu sesión. No hay vuelta atrás.",
    "closed": "Tu cuenta se ha cerrado.",
    "blockedBookings": "Todavía tienes {count} clases por delante. Espera a que pasen o cancélalas antes.",
    "blockedBookings_one": "Todavía tienes {count} clase por delante. Espera a que pase o cancélala antes.",
    "clerkFailed": "Tus datos se han borrado pero no hemos podido eliminar el acceso. Escríbenos para que lo terminemos.",
    "blockedBalance": "Todavía tienes {amount} por cobrar. Retíralo —o espera a que se libere si acabas de dar una clase— y después cierra.",
    "blockedRefund": "Te estamos devolviendo {amount} y aún no ha llegado. Espera a que el reembolso se complete antes de cerrar, o no tendremos a dónde enviarlo.",
    "blockedSchool": "Esta cuenta gestiona una escuela. Escríbenos y cerramos la escuela contigo primero."
  },
  "serverError": {
    "salesCodeTaken": "Ese código ya lo tiene otro comercial",
    "availabilityManagedBySchool": "Ahora tu escuela gestiona tu calendario. Recarga la página para verlo.",
    "settingsManagedBySchool": "Tu escuela gestiona los ajustes de tus reservas. Recarga la página para verlos.",
    "bookingManagedBySchool": "Tu escuela responde las solicitudes de reserva por ti. Recarga la página.",
    "instructorSelfManaged": "Este instructor responde sus propias solicitudes de reserva.",
    "externalBlocksReadOnly": "Esos bloques vienen del sistema de reservas de tu escuela y no se editan aquí.",
    "availabilityChanged": "Alguien ha cambiado el calendario mientras tanto. Recarga la página y vuelve a intentarlo.",
    "tooManyApiKeys": "Ya tienes {max} claves activas. Revoca una para crear otra.",
    "tooManyWebhooks": "Ya tienes {max} endpoints. Quita uno para añadir otro.",
    "webhookUrl": "Esa URL no vale: tiene que ser https y apuntar a un servidor público.",
    "webhookNotFound": "Ese endpoint ya no existe.",
    "webhookEvents": "Elige al menos un evento conocido.",
    "slotUnavailable": "Ese horario ya no está libre. Puede que el instructor haya cambiado su calendario desde que cargaste la página: recárgala y elige otro hueco.",
    "alreadyBooked": "Alguien ha reservado ese horario antes. Elige otro hueco.",
    "youAlreadyBooked": "Ya tienes una clase reservada a esa hora.",
    "inThePast": "Ese horario ya ha pasado. Elige otro hueco.",
    "tooSoon": "Este instructor necesita más antelación. Elige un hueco más adelante.",
    "tooFarAhead": "Esa fecha está demasiado lejos para poder reservarla todavía.",
    "badDuration": "Esa duración está fuera de lo que ofrece este instructor.",
    "badStudents": "Son más alumnos de los que acepta este instructor.",
    "studentDetails": "Revisa el nombre y la edad de cada alumno.",
    "studentAge": "La edad de un alumno no entra en esta clase.",
    "contactPhone": "Hace falta un teléfono de contacto.",
    "wrongResort": "Este instructor no da clase en esa estación.",
    "badBookingState": "Esta reserva ha cambiado desde que abriste la página. Recárgala para ver cómo está.",
    "cannotPay": "Esta reserva ya no se puede pagar.",
    "alreadyPaid": "Esta reserva ya está pagada.",
    "paymentInProgress": "Tu pago de esta reserva aún se está procesando. Te avisaremos en cuanto se complete.",
    "slotGoneAfterHold": "Tu reserva caducó sin completarse el pago y esa hora ya no está disponible. Vuelve a iniciar la reserva.",
    "lessonAlreadyStarted": "La hora de esa clase ya ha pasado y la reserva caducó sin pagarse. Vuelve a iniciar la reserva con otro horario.",
    "cancellationClosed": "La cancelación gratuita ya ha cerrado para esta clase. Escribe a tu instructor por el chat.",
    "proposedTimeTaken": "Ese horario se ha ocupado mientras tanto. Pide otro por el chat.",
    "slotNowConflicts": "Ese hueco ahora choca con otra reserva. Propón un horario nuevo o recházala.",
    "outsideAvailability": "Ese horario está fuera de tu disponibilidad publicada. Ábrelo antes en tu calendario.",
    "lessonNotEnded": "La clase todavía no ha terminado.",
    "lessonAlreadyEnded": "La clase ya se ha impartido y no se puede cancelar.",
    "lessonNotEndedChat": "La clase todavía no ha terminado. Habla con tu instructor por el chat.",
    "cannotDispute": "Esta reserva no admite reclamación.",
    "disputeReasonRequired": "Cuéntanos qué ha ido mal.",
    "refundFailed": "No se ha podido procesar el reembolso. Ya estamos avisados.",
    "disputeAlreadyResolved": "Esta queja ya está resuelta. Recarga la página para ver cómo.",
    "disputeAlreadyRefunded": "Esta reserva ya se ha reembolsado, así que la queja solo puede cerrarse como reembolso.",
    "schoolStillOwed": "A esta escuela aún se le debe dinero, así que no se puede cerrar. Suspéndela y ciérrala cuando lo haya cobrado todo.",
    "schoolLessonsAhead": "Esta escuela aún tiene clases pendientes, así que todavía no se puede cerrar. Primero tienen que darse; ciérrala cuando hayan pasado.",
    "onlyCompletedReviewable": "Solo se puede valorar una clase ya terminada.",
    "alreadyReviewed": "Ya has valorado esta clase.",
    "badRating": "Pon una valoración del 1 al 5.",
    "commentTooLong": "Ese comentario es demasiado largo.",
    "bioTooLong": "Esa biografía es demasiado larga. El máximo son 4000 caracteres.",
    "emptyMessage": "Escribe algo primero.",
    "meetingPointTitle": "Ponle un nombre al punto de encuentro.",
    "noMeetingPoint": "No hay ningún punto de encuentro que confirmar.",
    "fileTooLarge": "Ese archivo es demasiado grande. El límite son 8 MB.",
    "imageTooLarge": "Esa imagen es demasiado grande. El límite son 5 MB.",
    "imageType": "Solo se aceptan imágenes JPEG, PNG o WebP.",
    "fileType": "Solo se aceptan archivos PDF, JPEG, PNG o WebP.",
    "fileCorrupt": "Ese archivo no parece un documento real. Prueba a exportarlo de nuevo.",
    "imageCorrupt": "Esa imagen no parece una foto real. Prueba con otra.",
    "badPrice": "Pon un precio por hora mayor que cero.",
    "badExtraPrice": "El precio por alumno extra no puede ser negativo.",
    "badMaxStudents": "El tamaño del grupo tiene que estar entre 1 y 20.",
    "badNotice": "Elige uno de los plazos de antelación disponibles.",
    "durationOrder": "La duración mínima no puede ser mayor que la máxima.",
    "badLessonDuration": "Pon una duración de clase mayor que cero.",
    "badCertifications": "Hay algo mal en esas titulaciones. Revísalas y guarda otra vez.",
    "certNameRequired": "Ponle un nombre a la titulación e indica quién la emite.",
    "certExpiryRequired": "Indica la fecha de caducidad, o marca que no caduca.",
    "licenceRequired": "En las estaciones que has elegido hace falta número de licencia.",
    "titleRequired": "Para dar clase en las estaciones que has elegido, sube tu título o indica su número.",
    "offPisteNeedsTitle": "Fuera de pista, freeride y big mountain necesitan título propio en estas estaciones: añádelo primero o desmárcalos.",
    "approveNeedsTitle": "Este perfil no tiene la titulación que exigen sus estaciones: pídesela antes de aprobarlo.",
    "pickResort": "Elige al menos una estación.",
    "resortHasGroupClasses": "Esa estación tiene clases grupales publicadas: cancélalas o cámbialas de estación antes de quitarla.",
    "pickLanguage": "Elige al menos un idioma de clase.",
    "badKind": "Ese tipo de perfil no es válido.",
    "notRejected": "Solo se puede volver a enviar una solicitud que haya sido rechazada.",
    "foreignDocument": "Ese documento no pertenece a esta cuenta.",
    "badAvailability": "Hay algo mal en esos tramos de disponibilidad. Revísalos y guarda otra vez.",
    "availabilityTooSoon": "Algunas de las horas que has abierto empiezan dentro de tu ventana de antelación de {hours} horas y nadie podría reservarlas. Ábrelas más adelante o reduce la antelación en Clases privadas.",
    "tooManyAvailabilityBlocks": "Tu calendario tiene más de {max} tramos de disponibilidad de hoy en adelante. Junta algunos o usa tramos semanales y guarda otra vez.",
    "chargebackOpen": "Esta reserva tiene un contracargo abierto: el banco ya ha retirado el dinero. Se resolverá solo cuando Stripe decida; si quieres darlo por perdido antes, usa «Devolver al cliente» en Reclamaciones.",
    "startedRejectInstead": "Esa clase ya ha empezado, así que ya no se puede aceptar. Recházala y al cliente se le devuelve el dinero.",
    "rateLimited": "Demasiados intentos seguidos. Espera un momento y vuelve a probar.",
    "badYearsExperience": "Los años de experiencia tienen que estar entre 0 y 80.",
    "tooManyResorts": "Puedes elegir como mucho {max} estaciones.",
    "instructorNotBookable": "Este instructor no está aceptando reservas ahora mismo.",
    "instructorUnavailable": "Este instructor no está disponible ahora mismo.",
    "schoolNameMismatch": "El nombre no coincide: escríbelo tal cual para cerrar la escuela.",
    "onlyApprovedSchoolPublished": "Solo se puede publicar una escuela aprobada.",
    "signInRequired": "Inicia sesión para continuar.",
    "notAuthorised": "No puedes hacer eso.",
    "instructorCannotRegisterSchool": "Esta cuenta ya tiene perfil de instructor — da de alta la escuela desde su propia cuenta.",
    "countryNotServed": "Aún no operamos en ese país.",
    "schoolNotFound": "Esa escuela no existe.",
    "schoolNotApproved": "Tu escuela aún no está aprobada.",
    "payoutIban": "Ese IBAN no parece válido.",
    "payoutAccountHolder": "Indica el titular de la cuenta.",
    "invitationInvalid": "Esa invitación ya no es válida.",
    "invitationExpired": "Esa invitación ha caducado — pide a la escuela que la reenvíe.",
    "invitationWrongEmail": "La invitación se envió a otra dirección de correo. Añade y verifica esa dirección en tu cuenta, o pide a la escuela que invite a esta.",
    "schoolCurrencyMismatch": "Elige estaciones del país o la zona de divisa de tu escuela.",
    "badEmail": "Ese email no parece válido.",
    "invitationDuplicate": "Ese email ya tiene una invitación pendiente.",
    "alreadyManagesSchool": "Esta cuenta ya gestiona una escuela.",
    "schoolCannotApply": "Una cuenta de administrador de escuela no puede solicitarse como instructor — usa una cuenta aparte.",
    "instructorCannotManageSchool": "Una cuenta de instructor no puede gestionar una escuela — usa una cuenta aparte.",
    "creatorCannotBeRemoved": "Quien creó la escuela no se puede quitar.",
    "accountClosed": "Esta cuenta está cerrada.",
    "instructorClosed": "Este instructor ha cerrado su cuenta.",
    "invoiceNotReady": "Esa factura todavía no está disponible.",
    "tooYoung": "Para darte de alta como instructor tienes que tener al menos {min} años.",
    "badDateOfBirth": "Esa fecha de nacimiento no es válida.",
    "companionBlocked": "Dar clase a cambio de dinero en {countries} exige titulación oficial.",
    "priceBelowMinimum": "Ese precio por hora es demasiado bajo para poder cobrarlo. Súbelo y guarda otra vez.",
    "companionNoQualification": "Un acompañante no declara titulación, así que no hay nada que verificar.",
    "outsideSkiDay": "Las clases solo pueden darse entre las 07:00 y las 21:00, hora de la estación.",
    "tooManyPhotos": "Solo puedes tener 3 fotos.",
    "tooManySchoolPhotos": "La galería admite hasta 6 fotos.",
    "photoNotYours": "Esa foto no es tuya.",
    "photoList": "La lista de fotos no es válida.",
    "payoutProvider": "Elige PayPal o Payoneer.",
    "payoutEmail": "Ese correo de cobro no parece válido.",
    "payoutNotWaiting": "Ese pago ya no está esperando.",
    "payoutsNotLiveYet": "Todavía no podemos activar tus cobros: es cosa nuestra, no tuya. Estamos terminando de configurarlo con Stripe. Tu saldo está a salvo y podrás retirarlo en cuanto esté listo.",
    "payoutsCountryBlocked": "Stripe no puede pagar en tu país. Escríbenos a info@alpinepal.com y lo resolvemos contigo.",
    "stripeUnreachable": "No hemos podido conectar con Stripe. Inténtalo otra vez en unos minutos.",
    "payoutCountryUnsupported": "Todavía no podemos pagar en ese país. Escríbenos a info@alpinepal.com y buscamos otra vía.",
    "payoutCountryLocked": "Tu país de cobro ya no se puede cambiar: tu cuenta de Stripe está creada. Escríbenos a info@alpinepal.com si te has equivocado.",
    "noInstructorProfile": "Esta cuenta todavía no tiene perfil de instructor. Usa el formulario de solicitud de la página de invitación.",
    "alreadyInstructor": "Esta cuenta ya tiene perfil de instructor. Abre el enlace de la invitación para unirte a la escuela con él.",
    "joinNotCertified": "Solo los instructores titulados pueden unirse a una escuela. Cambia primero tu perfil a instructor titulado.",
    "joinRejected": "Tu perfil no fue aprobado. Pide una nueva revisión antes de unirte a una escuela.",
    "joinAlreadyInSchool": "Ya das clases para una escuela. Pide que te quite de su plantilla primero.",
    "joinCurrencyMismatch": "Tu perfil está en una moneda distinta de la de la escuela, y eso no se puede cambiar.",
    "joinOutstandingBalance": "Retira tu saldo antes de unirte a una escuela. Las clases ya pagadas tienen que liquidarse y retirarse primero.",
    "schoolNotTakingBookings": "Esta escuela no acepta reservas ahora mismo.",
    "unassignedNeedsResorts": "Las clases sin instructor asignado necesitan al menos una estación. Elígelas en el perfil de la escuela.",
    "assignNotUnassigned": "Solo se pueden asignar las clases sin instructor asignado.",
    "assignBadState": "Esta clase ya no se puede asignar.",
    "assignPackPending": "Acepta antes el pack: hasta entonces sus días solo pueden ir a instructores que gestiona tu escuela.",
    "assignNotOnRoster": "Ese instructor no está activo en tu plantilla.",
    "assignCurrency": "Ese instructor cobra en una moneda distinta de la de esta clase.",
    "assignNotVerified": "Ese instructor aún no está verificado.",
    "assignDiscipline": "Ese instructor no da clases de la disciplina de esta clase.",
    "assignDuration": "La duración de esta clase queda fuera de lo que ofrece ese instructor.",
    "assignStudents": "Esta clase tiene más alumnos de los que acepta ese instructor.",
    "groupClassGone": "Esta clase grupal ya no está disponible.",
    "groupClassWrongDate": "Esta clase grupal no se imparte en esa fecha y hora.",
    "groupClassFull": "Esta clase grupal está completa: todas sus plazas están ocupadas.",
    "groupClassFixedTime": "Una clase grupal tiene horario fijo y no se puede mover.",
    "groupClassMeetingPointFixed": "El punto de encuentro de una clase grupal lo fija el instructor y es el mismo para todos.",
    "groupClassAssignWhole": "Las plazas de una clase grupal no se pueden asignar de una en una.",
    "groupClassInvalid": "No se pudo guardar la clase grupal. Revisa el día, las horas y los datos.",
    "groupClassCapacity": "Las clases grupales necesitan entre 2 y 50 plazas, y el mínimo no puede superarlas.",
    "groupPriceBelowMinimum": "El precio por participante está por debajo del mínimo.",
    "groupClassesDisabled": "Las clases grupales están desactivadas en este perfil. Actívalas primero en sus ajustes.",
    "groupClassOverlap": "Esas horas se solapan con otra de tus clases grupales.",
    "groupClassExternalBlock": "Esas horas están bloqueadas por una clase vendida fuera de Alpine Pal.",
    "tooManyGroupClasses": "Ya tienes {max} clases grupales por delante, el máximo. Cancela alguna antes de publicar otra.",
    "unclaimedProfile": "Nadie ha reclamado aún este perfil: lo lleva tu escuela hasta que lo haga su instructor.",
    "unclaimedHasLessons": "Este instructor aún tiene clases por delante: cancélalas o asígnalas a otra persona antes.",
    "acceptTerms": "Acepta las condiciones para continuar.",
    "groupClassAges": "Revisa las edades: solo en clases para niños, entre {min} y {max} años, y la primera no mayor que la segunda.",
    "groupClassForChildren": "Esta clase es para niños: cada alumno tiene que ser niño.",
    "groupClassForAdults": "Esta clase es para adultos: cada alumno tiene que ser adulto.",
    "badLessonFormats": "Los formatos o las temporadas no están completos. Revísalos y vuelve a guardar.",
    "badDurationPrices": "Los precios por varias horas no son válidos: una clase más larga no puede salir más cara por hora ni costar menos que una más corta.",
    "badSeatDisciplines": "Elige la disciplina de estas clases: esquí, snowboard o las dos.",
    "badLessonLength": "Revisa la duración de las clases: la mínima no puede ser mayor que la máxima.",
    "oneLevelPerBooking": "Esta escuela no mezcla niveles ni edades en una clase: haz una reserva para cada grupo.",
    "formatsNotSold": "Este calendario no vende formatos fijos. Vuelve a elegir el horario.",
    "chooseFormat": "Estas clases se venden en franjas fijas: elige una en el calendario.",
    "formatGone": "Ese formato ya no se ofrece. Elige otro en el calendario de la escuela.",
    "formatNotOnDate": "Ese formato no se vende ese día. Elige otro día u otro formato.",
    "formatOtherTime": "Ese formato empieza a otra hora. Vuelve a elegirlo en el calendario.",
    "formatMoveHours": "Una clase vendida como formato fijo solo puede pasar al mismo horario.",
    "formatMovePrice": "Ese día no se vende este formato al precio que pagó el cliente. Elige otro día.",
    "packDayUnavailable": "Uno de los días del pack ya no está disponible. Elige otro día de inicio.",
    "packDayFull": "Uno de los días del pack está completo. Elige otro día de inicio o menos personas.",
    "onlyPacks": "Esta clase grupal solo se vende en packs.",
    "packNotSold": "Ese pack ya no se vende.",
    "packBandsMissing": "Elige un precio para cada persona.",
    "packNotFromDate": "Ese pack no puede empezar ese día: no quedan días suficientes.",
    "minDaysRequired": "En esas fechas esta clase solo se vende por varios días seguidos.",
    "packStarted": "Este pack ya ha empezado: ya no se puede cancelar.",
    "packDayFixed": "Un día de un pack no se puede mover.",
    "badPacks": "Los packs no se pueden guardar así: revisa los días y los precios.",
    "equipmentUnavailable": "Esta clase ya no ofrece alquiler de material. Desmarca el material para reservarla.",
    "equipmentInvalid": "Revisa el material elegido: algo ya no se ofrece.",
    "equipmentShoeSize": "Indica la talla de pie de quien alquila botas.",
    "equipmentHeight": "Indica la altura de quien alquila esquís, tabla o ropa.",
    "equipmentPrice": "Cada precio por día tiene que estar entre {min} y {max}.",
    "equipmentOtherName": "Pon nombre a cada artículo de «Otros».",
    "equipmentTooManyOthers": "Como máximo {max} artículos en «Otros».",
    "badCancellationWindow": "Elige una de las políticas de cancelación disponibles.",
    "referralNotPending": "Esta invitación ya no está pendiente de revisión. Recarga la página.",
    "referrerIneligible": "Quien invitó ya no puede recibir el premio: está en una escuela, en pausa o ha cerrado la cuenta.",
    "referralYearLimit": "Quien invitó ya ha tenido este año todos los premios posibles.",
    "referralGrantRevoked": "Esa rebaja ya estaba retirada.",
    "badSeasonPrices": "Los precios por temporada no son válidos. Revisa las fechas y los precios.",
    "badIncludedStudents": "Los alumnos incluidos en el precio tienen que ser un número entre 1 y 20.",
    "badChildEquipmentAge": "La edad de los precios de niño tiene que estar entre 3 y 17 años.",
    "badChildEquipmentSize": "La medida del material de niño no es válida: revisa la altura y la talla.",
    "fiscalDetails": "Revisa tus datos fiscales: alguno no es correcto.",
    "lueiraReview": "Tu conexión con Lueira está en revisión. Te avisaremos cuando esté lista."
  },
  "installApp": {
    "title": "Instala Alpine Pal como app",
    "body": "Se abre en su propia ventana, como cualquier otra app, con tus solicitudes y mensajes siempre a mano.",
    "iosIntro": "En iPhone y iPad se hace en dos pasos:",
    "iosShare": "Toca Compartir (si no lo ves, está en el menú ···).",
    "iosAdd": "Elige «Añadir a pantalla de inicio».",
    "install": "Instalar app",
    "notNow": "Ahora no"
  },
  "push": {
    "title": "Recibe avisos en este dispositivo",
    "body": "Te avisamos al momento de las solicitudes de reserva, los mensajes y todo lo que espera tu respuesta, aunque tengas la app cerrada.",
    "bodyCustomer": "Te avisamos al momento cuando acepten tu reserva, te escriban o cambie algo, aunque no tengas Alpine Pal abierto.",
    "hint": "Puedes quitarlos cuando quieras desde la campana o en los ajustes del teléfono.",
    "enable": "Activar avisos",
    "notNow": "Ahora no",
    "toggle": "Avisos en este dispositivo",
    "blocked": "Bloqueados en los ajustes del dispositivo",
    "iosInstall": "En iPhone, instala la app para recibir avisos",
    "enabled": "Avisos activados. Te hemos enviado uno de prueba.",
    "untested": "Avisos activados, pero el de prueba no ha salido. Si no te llegan, vuelve a activarlos más tarde.",
    "disabled": "Avisos desactivados en este dispositivo.",
    "denied": "Los avisos están bloqueados. Para recibirlos, permítelos para Alpine Pal en los ajustes del dispositivo.",
    "failed": "No se han podido activar los avisos. Inténtalo de nuevo.",
    "testTitle": "Avisos activados",
    "testBody": "Así te llegarán los avisos de tus reservas y tus mensajes."
  },
  "share": {
    "myProfile": "Compartir mi perfil",
    "schoolPage": "Compartir la página de la escuela",
    "copied": "Enlace copiado",
    "copyFailed": "No se ha podido copiar el enlace"
  },
  "formatCalendar": {
    "title": "Calendario de franjas",
    "subtitle": "Una fila por franja. Pulsa una casilla para abrirla, cambiar sus plazas o cerrarla. Horas en la zona horaria de la estación.",
    "subtitlePerson": "Una fila por franja. Pulsa una casilla para abrirla o cerrarla. Una clase a la vez. Horas en la zona horaria de la estación.",
    "noFormats": "Añade al menos una franja en el paso 2 para ver aquí su calendario.",
    "legendOnSale": "A la venta",
    "legendClosed": "Cerrada",
    "legendNoSeason": "Sin precio ese día",
    "cellClosed": "Cerrada. Pulsa para abrirla a {price}.",
    "cellNoSeason": "Este día no cae en ninguna temporada con precio para esta franja: no se vende.",
    "cellOpen": "Reservadas {taken} de {places} · {price}",
    "cellOpenNoPrice": "Reservadas {taken} de {places} · sin precio ese día",
    "weekOutOfSeason": "Esta semana no cae en ninguna temporada: sus franjas no tienen precio y no se venden.",
    "toSeason": "Ir al {date}",
    "closedNow": "Cerrada este día.",
    "placesHint": "Cuántas clases de esta franja puedes vender a la vez en esta estación.",
    "wholeDay": "Todo el día ({from}–{to}): las plazas valen para todas las franjas",
    "wholeDayHint": "Con una plaza por monitor, cualquier franja usa una mientras dura y nunca vendes más clases a la vez que monitores. Abiertas una a una, las franjas que se pisan suman sus plazas.",
    "wholeDayPerson": "Todo el día ({from}–{to}): abre las horas de todas las franjas",
    "wholeDayPersonHint": "Una clase a la vez: cuando se reserva una franja, las que se pisan con ella dejan de estar a la venta ese día.",
    "openNowPerson": "Abierta este día.",
    "bookedNowPerson": "Abierta este día, y ya tiene una clase reservada en estas horas.",
    "scopeWeekly": "Todas las semanas",
    "untilSeasonEnd": "Hasta el final de la temporada, el {date}.",
    "untilDate": "Hasta el {date}, incluido.",
    "alsoOpens": "Así también se abre: {formats}.",
    "alsoCloses": "Así deja de venderse también: {formats}.",
    "closeAlsoCloses": "Si la cierras, también se cierra: {formats}.",
    "closedFormatNow": "Cerrada solo esta franja este día. Sus horas siguen con {places} plazas para las demás.",
    "closedFormatNowPerson": "Cerrada solo esta franja este día. Las demás franjas de estas horas siguen a la venta.",
    "cellClosedFormat": "Cerrada solo esta franja. Pulsa para abrirla a {price}.",
    "closeDay": "Cerrar el día",
    "openDay": "Abrir el día",
    "closeOnlyHint": "Cerrar franja cierra solo esta; las demás siguen con sus plazas. Para cerrarlas todas, activa Todo el día.",
    "closeOnlyHintPerson": "Cerrar franja cierra solo esta; las demás siguen a la venta. Para cerrarlas todas, activa Todo el día.",
    "close": "Cerrar franja",
    "open": "Abrir franja"
  },
  "packs": {
    "title": "Packs de días",
    "optional": "Packs de días (opcional)",
    "hint": "Vende varios días del curso en un solo pago, con un precio por persona según la edad. Cada día se reserva como una clase del curso.",
    "courseNote": "Se aplican a todo el curso: los días de la semana que publicaste juntos.",
    "days": "Días",
    "band": {
      "adult": "Adultos",
      "youth": "Jóvenes",
      "child": "Niños"
    },
    "addOption": "Añadir pack",
    "removeOption": "Quitar este pack",
    "pricesHint": "Precio por persona para todo el pack. Si dejas vacío un tramo, no se vende en ese pack.",
    "agesTitle": "Edades de cada tramo (opcional)",
    "agesMin": "Desde",
    "agesMax": "Hasta",
    "includesTitle": "Qué incluye además de las clases",
    "include": {
      "liftPass": "Forfait",
      "rental": "Alquiler de material",
      "helmet": "Casco"
    },
    "singleDays": "Vender también días sueltos",
    "singleDaysHint": "Cada día suelto, al precio por persona de la clase.",
    "blocked": {
      "too_many_options": "Como máximo {max} packs.",
      "bad_days": "Cada pack es de {min} a {max} días.",
      "duplicate_days": "Hay dos packs con los mismos días.",
      "option_without_prices": "Cada pack necesita al menos un precio.",
      "price_below_minimum": "Cada precio tiene que ser de al menos {min} {currency} por día del pack.",
      "bad_ages": "Revisa las edades: de {min} a {max} años, y la primera no mayor que la segunda."
    },
    "saved": "Packs guardados",
    "save": "Guardar packs",
    "remove": "Quitar packs",
    "edit": "Editar packs",
    "none": "Sin packs: cada día se vende suelto.",
    "summaryOptions": "Packs de {list} días",
    "cardBadge": "Packs de {list} días",
    "agesRange": "{min}–{max} años",
    "agesFrom": "desde {min} años",
    "agesUpTo": "hasta {max} años",
    "single": "Solo este día",
    "optionLabel": "{days} días",
    "fromPerPerson": "desde {price} por persona",
    "chooseWho": "¿Quiénes vienen?",
    "addOne": "Añadir uno",
    "removeOne": "Quitar uno",
    "includes": "Incluye: {list}",
    "lessons": "Clases",
    "oneDay": "Un día",
    "daysInRow": "{days} días seguidos",
    "minDaysNote": "En estas fechas se reserva un mínimo de {days} días seguidos.",
    "datesRange": "Del {from} al {to}.",
    "doesNotFit": "Desde este día no hay {days} días seguidos a la venta: elige otro primer día.",
    "people": "Personas: {n}",
    "summaryLabel": "Pack",
    "firstDay": "Primer día",
    "groupDaysNote": "Las {days} siguientes clases del curso, desde el {date}.",
    "formatDaysNote": "{days} días seguidos, del {from} al {to}.",
    "bookingTitle": "Pack de {days} días",
    "dayOf": "Día {day} de {days}",
    "bookingNote": "Cada día es una clase propia. El pack se cancela entero; si se cancela uno de sus días, se te devuelve la parte de ese día.",
    "chatOnFirstDay": "El chat del pack está en su primer día.",
    "openFirstDay": "Ir al primer día",
    "cancelPack": "Cancelar el pack",
    "acceptPack": "Aceptar el pack",
    "rejectPack": "Rechazar el pack",
    "answerWhole": "Este día es parte de un pack de {days} días: se acepta o se rechaza el pack entero, y sus días no cambian de hora.",
    "wholePackNote": "Por persona, por todo el pack, según la edad."
  },
  "extraStudents": {
    "title": "Precio por alumno extra",
    "foldHint": "Si cobras más cuando la clase es para varios alumnos.",
    "extraHint": "Vacío o 0: el mismo precio sea cual sea el grupo."
  },
  "durationPrices": {
    "title": "Precio por varias horas seguidas",
    "hint": "Precio de la clase entera para un alumno. Vacío: esa duración va a la tarifa por hora de la última anterior con precio, o por horas si no hay ninguna.",
    "label": "{hours} horas seguidas",
    "labelOrMore": "{hours} horas o más",
    "perHour": "= {price} la hora",
    "lineExact": "{hours} horas seguidas",
    "lineRate": "{hours} h a {price} la hora",
    "short": "{hours} h",
    "shortOrMore": "{hours} h o más",
    "blocked": {
      "not_a_price": "El precio de {hours} horas tiene que ser un número mayor que 0. Déjalo vacío si esa duración no lleva precio propio.",
      "below_minimum": "Cada precio tiene que ser de al menos {min} {currency} por hora.",
      "dearer_per_hour": "{hours} horas salen a {rate} la hora, más que {shorter} horas ({shorterRate} la hora): una clase más larga no puede salir más cara por hora.",
      "dearer_than_hourly": "{hours} horas salen a {rate} la hora, más que el precio por hora ({shorterRate}) con el que se cobran las de {shorter} h.",
      "cheaper_than_shorter": "{hours} horas cuestan {total} en total, menos que {shorter} horas ({shorterTotal}): una clase más larga no puede costar menos.",
      "cheaper_than_hourly": "{hours} horas cuestan {total} en total, menos que {shorter} h al precio por hora ({shorterTotal}): una clase más larga no puede costar menos.",
      "orStartLater": "Si no vendes clases tan cortas, haz que empiecen en {hours} horas."
    },
    "foldHint": "Si cobras un precio cerrado por 2, 3 o más horas seguidas."
  },
  "seasonPrices": {
    "title": "Precios por temporada",
    "hint": "Opcional. En las fechas de una temporada se cobran su precio por hora y sus precios por varias horas seguidas; el resto de días, los de arriba.",
    "namePlaceholder": "Temporada alta",
    "rateLabel": "Precio por hora en estas fechas ({currency})",
    "headerNote": "El precio cambia según la fecha: al elegir día verás el de ese día.",
    "includesUpTo": "El precio incluye hasta {n} alumnos",
    "includedLabel": "Alumnos incluidos en el precio",
    "includedHint": "El extra por alumno se cobra desde el segundo.",
    "includedHintFrom": "El extra por alumno se cobra desde el {n}.º.",
    "blocked": {
      "too_many_seasons": "Como mucho {max} temporadas.",
      "bad_season": "Una temporada no se puede leer: quítala y vuelve a crearla.",
      "bad_season_name": "El nombre de una temporada es demasiado largo (máximo {max} caracteres).",
      "bad_season_dates": "Revisa las fechas marcadas: cada tramo necesita un día de inicio y uno de fin, y el fin no puede ir antes del inicio.",
      "seasons_overlap": "Dos tramos de fechas se solapan: cada día solo puede tener un precio.",
      "season_rate_below_minimum": "El precio por hora de la temporada está por debajo del mínimo de {min} {currency}.",
      "season_duration_prices": "Revisa los precios por varias horas de la temporada."
    },
    "foldHint": "Si en algunas fechas, como la temporada alta, cobras otro precio.",
    "unnamed": "Temporada {n}"
  },
  "extraPer": {
    "label": "Cómo se cobra el extra",
    "hour": "por hora",
    "lesson": "por clase"
  },
  "equipment": {
    "title": "Alquiler de material",
    "intro": "Alquila tu material con tus clases. Quien reserva una de tus clases puede añadir lo que necesita cada alumno y pagarlo junto con la clase.",
    "enableLabel": "Ofrecer alquiler de material",
    "whereNote": "Se ofrece en todas las clases que cobra tu escuela: las clases sin instructor asignado, las grupales y las de los instructores de tu plantilla. El precio es por día, por tantos días como tenga la clase.",
    "commissionNote": "Como en las clases, nos quedamos el {commission} % y el {share} % va a tu saldo cuando la clase se completa; si se reembolsa la clase, se reembolsa también su material.",
    "nothingPriced": "Pon precio a algún artículo para ofrecerlo.",
    "notPublic": "Los clientes lo verán cuando tu escuela esté publicada.",
    "itemsTitle": "Qué alquilas y su precio por día",
    "itemsHint": "Precio de adulto. Deja vacío lo que no alquiles.",
    "groupSki": "Esquí",
    "groupSnowboard": "Snowboard",
    "groupCommon": "Para todos",
    "perDay": "{currency}/día",
    "othersTitle": "Otros",
    "othersHint": "Lo que no esté en la lista, con el nombre que tú le des. Se muestra tal como lo escribes, en todos los idiomas.",
    "otherNameLabel": "Nombre del artículo",
    "otherNamePlaceholder": "P. ej. Protector de espalda",
    "addOther": "Añadir artículo",
    "removeOther": "Quitar este artículo",
    "priceRangeError": "Cada precio por día tiene que estar entre {min} y {max}.",
    "otherIncomplete": "Pon nombre a cada artículo de «Otros», o deja vacíos los dos campos.",
    "pickupTitle": "Dónde se recoge",
    "pickupHint": "Si el material no se recoge donde empieza la clase, di dónde. Quien reserva lo ve antes de pagar, en la confirmación y en el recordatorio del día antes.",
    "pickupAddressLabel": "Dirección de la tienda",
    "pickupAddressPlaceholder": "P. ej. Calle Mayor 12, Vielha",
    "pickupNoteLabel": "Nota (opcional)",
    "pickupNotePlaceholder": "P. ej. Abierto de 8:00 a 20:30; se puede recoger la tarde antes",
    "pickupNoteHint": "Se muestra tal como la escribes, en todos los idiomas.",
    "pickupNoAddress": "Pon la dirección de la tienda, o deja vacía también la nota.",
    "pickupBefore": "Pásate a recogerlo antes de la clase.",
    "kind": {
      "ski_set": "Pack de esquí (esquís, botas y bastones)",
      "skis": "Esquís",
      "ski_boots": "Botas de esquí",
      "poles": "Bastones",
      "snowboard_set": "Pack de snowboard (tabla y botas)",
      "snowboard": "Tabla de snowboard",
      "snowboard_boots": "Botas de snowboard",
      "helmet": "Casco",
      "goggles": "Máscara",
      "gloves": "Guantes",
      "clothing": "Ropa (chaqueta y pantalón)"
    },
    "checkoutTitle": "¿Necesitáis material?",
    "checkoutIntro": "{school} alquila material para la clase. Marca lo que necesita cada alumno: se paga junto con la clase.",
    "checkoutDays": "El precio es por día, para los {days} días del pack.",
    "includedInSet": "Incluido en el pack",
    "pricePerDay": "{price}/día",
    "shoeSize": "Talla de pie (EU)",
    "height": "Altura (cm)",
    "sizesNote": "La tienda ajusta el material al recogerlo.",
    "breakdownLine": "Alquiler de material",
    "breakdownLineDays": "Alquiler de material · {days} días",
    "errorStudent": "Revisa el material elegido.",
    "errorItem": "Revisa el material elegido: algo ya no se ofrece.",
    "errorSet": "Un pack ya incluye sus esquís, botas o tabla.",
    "errorShoeSize": "Indica la talla de pie de quien alquila botas.",
    "errorHeight": "Indica la altura de quien alquila esquís, tabla o ropa.",
    "bookingLabel": "Alquiler de material",
    "includedInTotal": "{amount}, incluido en el total",
    "shoeShort": "talla {size}",
    "heightShort": "{cm} cm",
    "forDays": "Para {days} días",
    "childTitle": "Precios de niño",
    "childFoldHint": "Si el material de niño tiene otro precio.",
    "childHint": "Se cobran a los alumnos que se reservan como niño. Deja vacío lo que cueste lo mismo que el de adulto.",
    "childMaxAgeLabel": "Son para niños de hasta",
    "childMaxAgeSuffix": "años (incluidos)",
    "childAgeError": "La edad tiene que estar entre {min} y {max} años.",
    "childNoItems": "Pon primero arriba el precio de lo que alquilas.",
    "childSummary": "Hasta {age} años · {n} con precio de niño",
    "childPricesNote": "Precio de niño: hasta {age} años.",
    "childTag": "niño",
    "tier": {
      "basic": "Gama básica",
      "mid": "Gama media",
      "high": "Gama alta"
    },
    "tierLabel": "Gama",
    "tiersTitle": "Gamas",
    "tiersFoldHint": "Si alquilas el mismo material en varias gamas.",
    "tiersHint": "Marca las gamas que alquilas y pon el precio de cada una. Deja vacía la gama que no tenga un artículo: si solo tiene una, el cliente no elige.",
    "childByLabel": "Precio de niño según",
    "childByAge": "la edad",
    "childBySize": "la medida",
    "childHintSize": "Se cobra a quien mide hasta esa altura (esquís, tablas y ropa) o calza hasta esa talla (botas); un pack, si cumple las dos. Casco, bastones y lo demás, siempre a precio de adulto. Deja vacío lo que cueste lo mismo que el de adulto.",
    "childMaxHeightLabel": "Material de niño hasta",
    "childMaxShoeLabel": "cm y talla",
    "childSizeError": "La altura tiene que estar entre {minHeight} y {maxHeight} cm, y la talla entre {minShoe} y {maxShoe}.",
    "childWhoAge": "hasta {age} años",
    "childWhoSize": "hasta {height} cm y talla {shoe}",
    "childSummaryWho": "{who} · {n} con precio de niño",
    "childSizeNote": "Material de niño hasta {height} cm y talla {shoe}: su precio sale al escribir la altura y la talla."
  },
  "googleCalendar": {
    "title": "Google Calendar",
    "introInstructor": "Tus clases confirmadas aparecen solas en un calendario «Alpine Pal» de tu cuenta de Google: se añaden, se mueven y se borran al momento. Tus otros calendarios no se tocan.",
    "introSchool": "Todas las clases de tu escuela, con el nombre del instructor delante, aparecen solas en un calendario «Alpine Pal» de vuestra cuenta de Google. Las clases sin instructor asignado salen como «Sin asignar».",
    "schoolAccountTip": "Mejor una cuenta compartida de la escuela (por ejemplo, reservas@…) que la personal de un administrador. Cada instructor puede conectar también la suya desde su panel, en Conexiones.",
    "connect": "Conectar Google Calendar",
    "connectedAs": "Conectado con {email}",
    "connectedBy": "lo conectó {name}",
    "updating": "Actualizando tus clases…",
    "syncedAt": "Actualizado: {when}",
    "resync": "Volver a sincronizar",
    "resyncDone": "Tus clases se están escribiendo de nuevo en Google Calendar.",
    "disconnect": "Desconectar",
    "disconnectTitle": "¿Desconectar Google Calendar?",
    "disconnectBody": "Las clases dejarán de llegar a Google Calendar. En Alpine Pal no cambia nada.",
    "deleteCalendar": "Borrar también el calendario «Alpine Pal» de Google",
    "disconnected": "Google Calendar desconectado.",
    "brokenRevoked": "Alpine Pal ya no tiene permiso en la cuenta {email}, así que las clases nuevas no llegan a Google Calendar. Vuelve a conectarlo.",
    "brokenDeleted": "Se borró el calendario «Alpine Pal» de la cuenta {email}, así que las clases nuevas no llegan. Vuelve a conectarlo para crearlo de nuevo.",
    "reconnect": "Volver a conectar",
    "busy": {
      "title": "Bloquear mis horas ocupadas",
      "intro": "Lo que tengas en tu Google Calendar (el médico, otra clase, un viaje) deja de poder reservarse en Alpine Pal. Solo vemos cuándo estás ocupado, nunca qué es.",
      "enable": "Activar",
      "on": "Activado: las horas que tu calendario principal de Google marca como ocupadas no se pueden reservar. Los eventos marcados como «disponible» no cuentan.",
      "checkedAt": "Comprobado: {when}",
      "checking": "Leyendo tus horas ocupadas…",
      "failing": "La última vez no pudimos leer tu calendario; lo volvemos a intentar en unos minutos. Mientras, siguen bloqueadas las horas leídas antes.",
      "disable": "Desactivar",
      "disabled": "Tus horas ocupadas en Google ya no bloquean tu calendario."
    },
    "result": {
      "connected": "Google Calendar conectado. Tus clases aparecerán en unos segundos.",
      "denied": "No se ha conectado: lo cancelaste en Google.",
      "scope_missing": "Falta el permiso del calendario. Vuelve a conectar y deja marcada la casilla de Google Calendar.",
      "forbidden": "No puedes conectar este calendario.",
      "unavailable": "La conexión con Google Calendar aún no está disponible.",
      "failed": "No se ha podido conectar con Google. Inténtalo de nuevo.",
      "busy_on": "Listo: las horas en que estás ocupado en Google Calendar ya no se pueden reservar.",
      "busy_scope_missing": "Falta el permiso de disponibilidad. Vuelve a activarlo y deja marcada la casilla de ver tu disponibilidad."
    }
  },
  "referral": {
    "card": {
      "title": "Invita a un instructor",
      "body": "Comparte tu enlace con otros instructores. Quien se registre con él paga un {inviteePercent} % de comisión en vez del {standard} % en sus primeros {amount} de clases. Y cuando dé su primera clase pagada, tus próximos {amount} de clases pagan un {percent} % en vez del {base} %.",
      "preview": "Solo lo ves tú: el programa está apagado hasta que pasen 15 días desde el aviso de los nuevos términos. Un código usado ahora no cuenta.",
      "linkLabel": "Tu enlace de invitación",
      "copy": "Copiar",
      "copied": "Enlace copiado",
      "share": "Compartir",
      "shareText": "Te invito a dar clases en Alpine Pal. Con mi enlace pagas un {percent} % de comisión en vez del {standard} % en tus primeros {amount} de clases:",
      "code": "Tu código: {code}. Quien no tenga el enlace puede escribirlo al registrarse.",
      "rewardsTitle": "Tu comisión rebajada",
      "reward": "Tus clases pagan un {percent} % en vez del {base} %: te quedan {remaining} de {cap}, hasta el {date}.",
      "inviteesTitle": "Tus invitaciones",
      "inviteesEmpty": "Todavía nadie se ha registrado con tu código.",
      "limit": "Como mucho {n} premios al año (llevas {used}).",
      "terms": "Condiciones"
    },
    "status": {
      "registered": "Pendiente de aprobación",
      "approved": "Perfil aprobado, sin clases todavía",
      "to_review": "Primera clase dada: revisando tu premio",
      "rewarded": "Premio conseguido",
      "declined": "Sin premio",
      "void": "Cerrado"
    },
    "banner": "{name} te invita a Alpine Pal. Si te registras con su código, tus primeras clases pagan un {percent} % de comisión en vez del {standard} %.",
    "field": {
      "label": "Código de invitación",
      "placeholder": "MARTA-7K3Q",
      "valid": "Te invita {name}: tus primeras clases pagarán un {percent} % de comisión en vez del {standard} %.",
      "invalid": "Ese código no existe o ya no vale. Compruébalo o déjalo vacío.",
      "privacy": "Quien te invitó verá que has usado su código y si ya has dado tu primera clase; nunca tus importes."
    }
  },
  "assistant": {
    "open": "Asistente IA",
    "title": "Asistente de Alpine Pal",
    "hint": "¿Te ayudo?",
    "aiBadge": "IA",
    "greeting": "¡Hola! Soy el asistente de IA de Alpine Pal. Pregúntame lo que quieras sobre la web, o dime dónde y cuándo quieres esquiar y te busco clases.",
    "placeholder": "Escribe tu pregunta…",
    "send": "Enviar",
    "close": "Cerrar",
    "restart": "Nueva conversación",
    "notice": "La IA puede equivocarse. Lo que escribes se envía a Anthropic para responderte y no lo guardamos. No compartas datos sensibles.",
    "noticeLink": "Privacidad",
    "contactLink": "Contacto",
    "thinking": "Pensando…",
    "searching": "Buscando clases…",
    "reading": "Consultando la web…",
    "seeAll": "Ver todos los resultados ({total})",
    "errorLimit": "Son muchas preguntas en poco tiempo. Espera unos minutos y vuelve a intentarlo.",
    "errorLimitDay": "Has llegado al máximo de preguntas de un día. Podrás seguir dentro de {count} horas.",
    "errorLimitDay_one": "Has llegado al máximo de preguntas de un día. Podrás seguir dentro de una hora.",
    "errorBusy": "El asistente no está disponible ahora mismo. Puedes escribirnos:",
    "errorFailed": "Algo ha fallado y no he podido responder. Inténtalo de nuevo en un momento.",
    "errorRefused": "Con eso no puedo ayudarte. Si es sobre Alpine Pal, prueba a preguntarlo de otra forma.",
    "errorCut": "Se ha cortado la conexión y mi respuesta ha quedado a medias. Vuelve a preguntármelo.",
    "errorTruncated": "Mi respuesta se ha cortado. Pídeme una versión más corta.",
    "suggestFind": "Quiero un instructor en Baqueira",
    "suggestSignUp": "¿Cómo me registro?",
    "suggestCancel": "¿Puedo cancelar una reserva?",
    "suggestHours": "¿Dónde pongo mis horarios?",
    "suggestPayout": "¿Cómo cobro?",
    "suggestPrices": "¿Dónde cambio mis precios?",
    "suggestAddInstructors": "¿Cómo añado a mis instructores?"
  }
}
