{
  "brand": {
    "tagline": "Найдите инструктора по горным лыжам или сноуборду"
  },
  "common": {
    "fixMarked": "Проверьте поля, отмеченные красным.",
    "skipToContent": "Перейти к содержимому",
    "language": "Язык",
    "signIn": "Войти",
    "signUp": "Регистрация",
    "loading": "Загрузка…",
    "cancel": "Отменить",
    "close": "Закрыть",
    "save": "Сохранить",
    "unsavedChanges": "Есть несохранённые изменения.",
    "discard": "Сбросить",
    "unsavedLeave": "Есть несохранённые изменения. Уйти, не сохранив их?",
    "delete": "Удалить",
    "back": "Назад",
    "retry": "Повторить",
    "select": "Выбрать",
    "menu": "Меню",
    "openChat": "Открыть чат",
    "viewBooking": "Открыть бронирование",
    "viewProfile": "Открыть профиль",
    "seeAll": "Показать все",
    "showMore": "Показать ещё",
    "showLess": "Свернуть",
    "typeToConfirm": "Чтобы подтвердить, введите {phrase}",
    "saving": "Сохранение…",
    "emailDidYouMean": "Вы имели в виду {email}?",
    "optional": "Необязательно"
  },
  "nav": {
    "findInstructor": "Найти инструктора",
    "countries": "По странам",
    "resorts": "Курорты",
    "howItWorks": "Как это работает",
    "becomeInstructor": "Стать инструктором",
    "registerSchool": "Зарегистрировать школу",
    "dashboard": "Кабинет",
    "bookings": "Бронирования",
    "requests": "Запросы",
    "calendar": "Календарь",
    "messages": "Сообщения",
    "favourites": "Избранное",
    "earnings": "Доход",
    "invoices": "Счета",
    "profile": "Профиль",
    "notifications": "Уведомления",
    "settings": "Настройки",
    "admin": "Админ-панель",
    "finances": "Финансы",
    "schoolInstructors": "Инструкторы",
    "previewPage": "Посмотреть страницу",
    "privateLessons": "Индивидуальные занятия",
    "groupLessons": "Групповые занятия",
    "equipmentRental": "Прокат снаряжения",
    "connections": "Подключения"
  },
  "registration": {
    "question": "Для начала расскажите, кто вы",
    "kind": {
      "instructor": "Я независимый инструктор",
      "instructorBody": "Свой профиль, свои цены и свой календарь.",
      "school": "Хочу зарегистрировать школу",
      "schoolBody": "Зарегистрируйте школу, а затем пригласите инструкторов по электронной почте."
    },
    "heardFrom": {
      "instagram": "Instagram",
      "google": "Google",
      "email": "Письмо от Alpine Pal",
      "phone": "Звонок от Alpine Pal",
      "other": "Другое",
      "instructor": "Меня пригласил инструктор"
    },
    "heardFromOtherLabel": "Где именно? (необязательно)",
    "heardFromOtherPlaceholder": "Рассказали знакомые, выставка, другой сайт…",
    "conflictTitle": "Один аккаунт — одна роль",
    "signOutForSchool": "Выйти и создать аккаунт школы",
    "signOutForInstructor": "Выйти и создать аккаунт инструктора"
  },
  "view": {
    "label": "Режим просмотра",
    "admin": "Администратор",
    "instructor": "Инструктор",
    "customer": "Ученик",
    "school": "Школа"
  },
  "home": {
    "heroTitle": "Найдите инструктора по горным лыжам или сноуборду",
    "heroSubtitle": "Бронируйте занятия с проверенными инструкторами — независимыми и из горнолыжных школ — на лучших курортах мира. Платите безопасно, общайтесь сразу, катайтесь уверенно.",
    "popularResorts": "Популярные горнолыжные курорты",
    "featuredInstructors": "Рекомендуемые инструкторы",
    "featuredSchools": "Рекомендуемые горнолыжные школы",
    "howTitle": "Как работает Alpine Pal",
    "how1Title": "Ищите и сравнивайте",
    "how1Body": "Выбирайте инструктора по курорту, языку, дисциплине, цене и доступному времени.",
    "how2Title": "Бронируйте и платите безопасно",
    "how2Body": "Отправьте оплаченный запрос на бронирование. Если его не примут, мы вернём деньги полностью.",
    "how3Title": "Общайтесь и встречайтесь на склоне",
    "how3Body": "Сразу напишите инструктору, договоритесь о месте встречи и получайте удовольствие от занятия.",
    "whyTitle": "Почему стоит бронировать через Alpine Pal",
    "why1": "Проверенные инструкторы — независимые и из школ",
    "why2": "Полный возврат средств, если инструктор не примет запрос",
    "why3": "Местное время для каждого курорта",
    "why4": "Поддержка на вашем языке",
    "ctaTitle": "Вы сертифицированный инструктор?",
    "ctaBody": "Присоединяйтесь к Alpine Pal и находите клиентов со всего мира в течение всего сезона. Вам остаётся 90% стоимости занятия.",
    "ctaButton": "Стать инструктором"
  },
  "hiw": {
    "title": "Как работает Alpine Pal",
    "subtitle": "От поиска подходящего инструктора до встречи на склоне: чтобы забронировать занятие, достаточно трёх шагов.",
    "ctaTitle": "Готовы выйти на склон?",
    "ctaBody": "Найдите проверенного инструктора на своём курорте и забронируйте первое занятие за несколько минут.",
    "ctaSearch": "Найти инструктора"
  },
  "privateLessons": {
    "faqTitle": "Вопросы, которые задают перед бронированием",
    "ctaTitle": "Найдите инструктора на своём курорте",
    "ctaBody": "Выберите курорт, дату, дисциплину и язык, почитайте профили и напишите тому, кто вам подходит, ещё до бронирования.",
    "ctaButton": "Смотреть инструкторов",
    "navLabel": "Индивидуальные занятия",
    "moreLink": "Что входит в индивидуальное занятие и как проходит бронирование"
  },
  "becomeInstr": {
    "stepsTitle": "Как это работает",
    "step1Title": "Создайте профиль",
    "step1Body": "Расскажите о своём опыте, сертификатах, языках преподавания и курортах, где вы работаете. Мы проверяем каждого независимого инструктора перед публикацией профиля, а за инструкторов школы отвечает сама школа.",
    "step2Title": "Укажите цены и доступное время",
    "step2Body": "Выберите цену за час и размер групп и открывайте только те часы, когда хотите преподавать.",
    "step3Title": "Получайте бронирования и доход",
    "step3Body": "Клиенты платят сразу, когда отправляют запрос на бронирование. Принимайте подходящие запросы и получайте 90% стоимости занятия.",
    "benefitsTitle": "Почему стоит преподавать с Alpine Pal",
    "benefit1Title": "Клиенты со всего мира",
    "benefit1Body": "Ученики со всего мира сами находят вас — без рекламы и посредников.",
    "benefit2Title": "Ваш календарь, ваши правила",
    "benefit2Body": "Вы сами решаете, когда, где и сколько преподавать. Каждый запрос можно принять или отклонить.",
    "benefit3Title": "Безопасные платежи",
    "benefit3Body": "Занятия оплачиваются заранее, так что вам больше не придётся напоминать об оплате.",
    "benefit4Title": "Встроенный чат",
    "benefit4Body": "Обсуждайте с клиентами место встречи и детали занятия прямо на платформе.",
    "ctaTitle": "Готовы присоединиться?",
    "ctaBody": "Создайте аккаунт и начните заполнять профиль инструктора уже сегодня.",
    "ctaButton": "Создать аккаунт",
    "ctaSignIn": "У меня уже есть аккаунт",
    "ctaSchoolLink": "Вы горнолыжная школа?",
    "ctaSchoolLinkCta": "Зарегистрируйте её здесь",
    "schoolCannotApply": "Этот аккаунт управляет горнолыжной школой. Профиль инструктора создаётся в отдельном аккаунте: чтобы подать заявку, зарегистрируйтесь с другим адресом электронной почты.",
    "applyTitle": "Подайте заявку, чтобы стать инструктором",
    "applySubtitle": "Расскажите о себе. Наша команда проверяет каждую заявку перед публикацией профиля.",
    "applyTitleSchool": "Заполните профиль для школы {school}",
    "applySubtitleSchool": "Расскажите о себе. Профиль будет опубликован сразу после отправки, за него отвечает школа {school}.",
    "schoolSetsPrice": "Вашу цену за час устанавливает школа {school}: она указана в приглашении, и школа может изменить её позже.",
    "schoolSetsFormats": "Вы будете продавать занятия по форматам, сезонам и ценам школы {school}: она сама их устанавливает и меняет.",
    "schoolRunsCalendar": "Школа {school} ведёт ваш календарь и запросы в рамках своих открытых часов; позже она может передать их вам.",
    "kindLabel": "Как вы хотите работать на платформе?",
    "kind": {
      "certified": "Сертифицированный независимый инструктор",
      "certifiedBody": "У вас есть официальная квалификация, дающая право преподавать (BASI, ISIA, PSIA, técnico deportivo…), и вы работаете самостоятельно.",
      "enthusiast": "Компаньон по катанию",
      "enthusiastBody": "Без квалификации: вы катаетесь вместе с клиентом и делитесь опытом в горах, но занятий не проводите.",
      "school": "Инструктор горнолыжной школы",
      "schoolBody": "У вас есть квалификация, и вы преподаёте в горнолыжной школе, которая работает с Alpine Pal."
    },
    "countryFirst": "Выберите страну, чтобы увидеть, как вы можете присоединиться.",
    "schoolInviteNotice": "Инструкторы горнолыжных школ присоединяются по приглашению, которое школа отправляет по электронной почте: заполнять форму здесь не нужно. Попросите школу пригласить вас из её кабинета Alpine Pal.",
    "schoolInviteCta": "Вашей школы ещё нет на Alpine Pal? Расскажите им о нас",
    "draftRestored": "Мы вернули то, что вы не успели дописать.",
    "draftDiscard": "Начать заново",
    "kindGate": "Выберите вариант, чтобы увидеть остальную часть формы.",
    "kindCertifiedNote": "После одобрения вы сможете добавить сертификаты в профиле.",
    "kindEnthusiastNote": "Важно: во многих странах для платного обучения катанию нужна официальная квалификация. Как компаньон вы обязуетесь не проводить занятия и соблюдать правила вашего курорта.",
    "bioLabel": "О себе",
    "bioPlaceholder": "Ваш опыт, сертификаты и стиль преподавания.",
    "bioTranslateHint": "Пишите на том языке, на котором вам удобнее. Мы автоматически переведём текст на остальные языки сайта.",
    "resortsLabel": "Где вы преподаёте?",
    "resortsHint": "Выберите страну, затем один или несколько курортов. Первый курорт определяет вашу валюту.",
    "languagesLabel": "Языки преподавания",
    "dobLabel": "Дата рождения",
    "dobHint": "В профиле показывается ваш возраст, а не дата. Зарегистрироваться как инструктор можно только по достижении совершеннолетия.",
    "yearsLabel": "Опыт (лет)",
    "priceLabel": "Цена за час",
    "extraStudentLabel": "Цена за дополнительного ученика",
    "groupSetupNow": "Настроить цены на групповые занятия сейчас",
    "groupSetupHint": "Необязательно. Если не ставить галочку, групповые занятия можно будет включить позже в разделе «Групповые занятия» в кабинете.",
    "submit": "Отправить заявку",
    "submitted": "Заявка отправлена!",
    "missingName": "Укажите имя",
    "missingDob": "Укажите дату рождения",
    "tooYoung": "Зарегистрироваться как инструктор можно только с {min} лет",
    "dobInvalid": "Указана неверная дата рождения",
    "missingBio": "Напишите краткую биографию",
    "missingResorts": "Выберите хотя бы один курорт",
    "missingLanguages": "Выберите хотя бы один язык",
    "missingLicence": "В вашей стране нужно указать номер лицензии",
    "missingTitle": "Загрузите сертификат или укажите его номер",
    "heardFromLabel": "Как вы узнали об Alpine Pal?",
    "missingHeardFrom": "Расскажите, как вы узнали об Alpine Pal",
    "missingTerms": "Примите условия",
    "goToDashboard": "Перейти в кабинет инструктора",
    "status": {
      "pendingTitle": "Заявка на проверке",
      "pendingBody": "Спасибо! Наша команда проверяет ваш профиль. Мы опубликуем его сразу после проверки и сообщим вам по электронной почте.",
      "pendingNextStep": "А пока настройте календарь: в вашем профиле ещё нет часов для занятий, и забронировать вас нельзя, пока вы их не откроете.",
      "verifiedTitle": "Вы проверенный инструктор",
      "verifiedBody": "Ваш профиль опубликован. Управляйте ценами, календарём и запросами в личном кабинете.",
      "rejectedTitle": "Заявка не одобрена",
      "rejectedBody": "На этот раз ваша заявка не одобрена. Если вы считаете, что это ошибка, обратитесь в поддержку."
    },
    "companionBlocked": "Для платного обучения здесь ({countries}) нужна официальная квалификация, поэтому вариант компаньона недоступен.",
    "credentialTitle": "Ваша квалификация",
    "credentialRequired": "Чтобы преподавать здесь ({countries}), нужна квалификация: {credential}. Укажите её номер, и мы проверим его по официальному реестру перед публикацией профиля.",
    "credentialRequiredTitle": "Чтобы преподавать здесь ({countries}), нужна квалификация: {credential}. Номер лицензии не нужен: загрузите фото или PDF сертификата, и мы проверим его перед публикацией профиля.",
    "credentialSchoolVouches": "Школа {school} отвечает за вас на трассах ({countries}), поэтому квалификация не обязательна. Если она у вас есть, загрузите её: она будет показана в профиле, а для занятий вне трасс и самостоятельной работы она необходима.",
    "credentialOptional": "В выбранных странах нет обязательной лицензии. Если у вас есть сертификат, сообщите нам, и мы сможем его проверить: в профиле он будет отмечен как проверенный.",
    "licenceNumber": "Номер лицензии или регистрации",
    "titleNumber": "Номер сертификата (если есть)",
    "credentialName": "Название квалификации",
    "credentialIssuer": "Кем выдана",
    "credentialYear": "Год получения",
    "credentialDocument": "Подтверждающий документ (необязательно)",
    "credentialDocumentTitle": "Фото или PDF сертификата",
    "credentialDocumentHint": "PDF или фото, до 8 МБ. Открыть файл можете только вы и наша команда проверки. Мы храним его как подтверждение проверки.",
    "credentialUploaded": "Документ сохранён",
    "credentialAttached": "Документ загружен",
    "credentialNotSavedYet": "Пока не сохранено: заполните данные сертификата и нажмите кнопку ниже.",
    "credentialUpload": "Загрузить документ",
    "credentialReplace": "Заменить документ",
    "acceptResponsibility": "Подтверждаю, что несу ответственность за наличие действующей квалификации, лицензии и страховки для выбранных курортов, что предоставленные документы подлинные, и принимаю",
    "acceptResponsibilityCompanion": "Подтверждаю, что не буду проводить занятия и выдавать себя за сертифицированного инструктора, что несу ответственность за наличие страховки, которую требуют выбранные курорты, и принимаю",
    "specialtiesHint": "Необязательно. Отметьте то, что описывает вас лучше всего: клиент увидит это в профиле и поймёт, подходите ли вы ему.",
    "offPisteNeedsTitle": "Здесь ({countries}) для пунктов «Вне трасс», «Фрирайд» и «Биг-маунтин» нужна собственная квалификация: добавьте её, чтобы их отметить.",
    "credentialExpiry": "Действует до",
    "credentialNeverExpires": "Эта квалификация бессрочная",
    "missingExpiry": "Укажите срок действия или отметьте, что квалификация бессрочная",
    "reapply": "Запросить повторную проверку",
    "reapplyBody": "Исправьте в профиле то, что было не так, — квалификацию, номер лицензии, документ — и попросите нас проверить ещё раз.",
    "reapplied": "Отправлено. Мы проверим ещё раз.",
    "faqTitle": "Вопросы инструкторов",
    "moreTitle": "Ещё о преподавании с Alpine Pal:",
    "moreCountries": "что требуется в каждой стране",
    "priceTooLow": "Слишком низкая цена: минимум {min} {currency} в час.",
    "groupPriceTooLow": "Слишком низкая цена: минимум {min} {currency} за человека.",
    "missingPrice": "Поднимите цену за час до минимальной"
  },
  "search": {
    "title": "Найти инструктора",
    "country": "Страна",
    "resort": "Курорт",
    "selectCountryFirst": "Сначала выберите страну",
    "selectDateFirst": "Сначала выберите дату",
    "maxPricePerHour": "До {price}/ч",
    "allCountries": "Все страны",
    "allResorts": "Все курорты",
    "date": "Дата",
    "startTime": "Время начала",
    "duration": "Длительность",
    "durationHours": "{hours} ч",
    "discipline": "Дисциплина",
    "ski": "Горные лыжи",
    "snowboard": "Сноуборд",
    "both": "Лыжи и сноуборд",
    "language": "Язык преподавания",
    "anyLanguage": "Любой язык",
    "students": "Число учеников",
    "cta": "Найти инструктора",
    "resultsCount": "Результаты: {count}",
    "resultsCountOne": "1 результат",
    "noResults": "Нет занятий, подходящих под ваши фильтры.",
    "noResultsHint": "Попробуйте изменить курорт, язык или дату.",
    "lessonType": "Тип занятия",
    "lessonTypeAny": "Индивидуальные и групповые",
    "lessonTypePrivate": "Индивидуальные",
    "lessonTypeGroup": "Групповые",
    "groupsTitle": "Групповые занятия",
    "priceFrom": "от {price}",
    "schoolBadge": "Горнолыжная школа",
    "schoolAssigns": "Инструктора на ваше занятие назначает школа.",
    "schoolBook": "Забронировать в школе",
    "filters": "Фильтры",
    "clearFilters": "Сбросить фильтры",
    "nameFilter": "Имя: {name}",
    "nameFilterClear": "Убрать имя",
    "priceRange": "Диапазон цен",
    "minRating": "Минимальная оценка",
    "minExperience": "Минимальный опыт (лет)",
    "instructorKind": "Тип инструктора",
    "anyKind": "Любой",
    "sort": "Сортировка",
    "sortRecommended": "Рекомендуемые",
    "sortHighestRated": "По оценке",
    "sortMostExperienced": "По опыту",
    "sortLowestPrice": "Сначала дешевле",
    "sortHighestPrice": "Сначала дороже",
    "sortMostReviewed": "По числу отзывов",
    "sortFastestResponse": "По скорости ответа",
    "selectInstructor": "Выбрать",
    "nextAvailable": "Ближайшее свободное время",
    "perHour": "/ч",
    "years": "Лет опыта: {years}",
    "reviews": "Отзывы: {count}",
    "rankingNotice": "На порядок «Рекомендуемые» может влиять комиссия, которую платят некоторые школы и инструкторы.",
    "rankingLink": "Как мы сортируем результаты"
  },
  "resort": {
    "localTimeNotice": "Всё указано по местному времени курорта.",
    "featuredInstructors": "Рекомендуемые инструкторы на курорте {resort}",
    "noInstructorsTitle": "На этом курорте пока нет доступных инструкторов",
    "noInstructorsBody": "Сейчас здесь никто не предлагает занятия — попробуйте соседний курорт или загляните позже.",
    "comingSoonTitle": "Скоро новые инструкторы на курорте {resort}",
    "comingSoonBodyOne": "Школа {school} присоединилась к Alpine Pal и добавляет своих инструкторов. А пока со школой можно связаться через её страницу.",
    "comingSoonBodyMany": "Эти горнолыжные школы присоединились к Alpine Pal и добавляют своих инструкторов. А пока с ними можно связаться через их страницы.",
    "schoolsBookableTitle": "Забронировать занятие в горнолыжной школе на курорте {resort}",
    "schoolsBookableBody": "Собственных профилей инструкторов здесь пока нет, но уже можно забронировать занятие в школе: она сама назначит инструктора.",
    "schoolView": "Страница школы",
    "schoolBook": "Забронировать занятие",
    "groupLessonsTitle": "Групповые занятия на курорте {resort}",
    "groupLessonsIntro": "Учитесь вместе с другими людьми примерно вашего уровня: каждый бронирует и оплачивает своё место. Ближайшая дата каждого занятия:",
    "groupLessonWith": "Проводит: {name}",
    "schoolSeatsTitle": "Или забронируйте занятие в горнолыжной школе",
    "schoolSeatsIntro": "Эти школы продают занятия на курорте {resort}, не называя инструктора: вы бронируете через школу, а она назначает инструктора из своей команды.",
    "instructorCtaTitle": "Вы преподаёте на курорте {resort}?",
    "instructorCtaTitleGeneric": "Вы инструктор и работаете здесь?",
    "instructorCtaBody": "Присоединяйтесь к Alpine Pal, опубликуйте профиль и находите клиентов, которые уже ищут занятия именно здесь.",
    "areas": "Секторы курорта",
    "meetingPoints": "Рекомендуемые места встречи",
    "searchAt": "Найти инструктора на курорте {resort}",
    "filterPlaceholder": "Поиск по названию, региону или стране…",
    "countResorts": "Курорты: {n}",
    "showAll": "Показать ещё: {n}",
    "showLess": "Свернуть",
    "noResults": "По вашему запросу курорты не найдены.",
    "factRegion": "Регион",
    "factCountry": "Страна",
    "factTimeZone": "Местное время",
    "factCurrency": "Валюта",
    "factInstructors": "Инструкторы здесь",
    "factFrom": "Занятия от",
    "factOpened": "Год открытия",
    "lessonsTitle": "Где начинаются занятия",
    "gettingThereTitle": "Как добраться",
    "goodForTitle": "Кому подойдёт",
    "nearbyTitle": "Другие курорты рядом",
    "faqTitle": "{resort}: частые вопросы",
    "mapLink": "Посмотреть на карте",
    "officialSite": "Официальный сайт курорта",
    "ctaTitle": "Забронируйте занятие на курорте {resort}",
    "ctaBody": "Сравните инструкторов, которые работают здесь, напишите им до бронирования и безопасно оплатите занятие через платформу.",
    "aboutTitle": "О курорте {resort}",
    "audienceBeginners": "Начинающие",
    "audienceFamilies": "Семьи",
    "audienceIntermediates": "Средний уровень",
    "audienceAdvanced": "Продвинутые лыжники",
    "audienceFreeride": "Катание вне трасс и фрирайд",
    "audienceSnowboard": "Сноуборд",
    "audienceNightskiing": "Вечернее катание",
    "audienceCrosscountry": "Беговые лыжи"
  },
  "countries": {
    "ES": "Испания",
    "AD": "Андорра",
    "FR": "Франция",
    "IT": "Италия",
    "DE": "Германия",
    "AR": "Аргентина",
    "CL": "Чили",
    "CH": "Швейцария",
    "AT": "Австрия",
    "PL": "Польша",
    "BG": "Болгария",
    "US": "США",
    "CA": "Канада",
    "JP": "Япония",
    "NZ": "Новая Зеландия",
    "MC": "Монако"
  },
  "country": {
    "hubTitle": "Инструкторы по горным лыжам и сноуборду по странам",
    "hubShort": "По странам",
    "hubIntro": "В каждой стране катаются по-своему: рельеф, сезон, цена занятия и даже требования закона к инструктору меняются, стоит пересечь границу. Выберите страну, чтобы увидеть её курорты и инструкторов и узнать, что важно знать перед бронированием.",
    "breadcrumbHome": "Главная",
    "searchCta": "Найти инструктора: {country}",
    "browseAll": "Смотреть всех инструкторов",
    "factResorts": "Горнолыжные курорты",
    "factSeason": "Сезон",
    "factCurrency": "Валюта",
    "factFrom": "Занятия от",
    "factLanguages": "Языки преподавания",
    "perHour": "{price}/ч",
    "terrainTitle": "Рельеф",
    "seasonTitle": "Когда ехать",
    "instructorsTitle": "{country}: инструкторы",
    "instructorsEmpty": "{country}: инструкторов пока нет. Мы добавляем их курорт за курортом — если вы преподаёте здесь, можете открыть этот список.",
    "instructorsEmptyCta": "Стать инструктором",
    "resortsTitle": "{country}: горнолыжные курорты",
    "credentialsTitle": "{country}: какая квалификация нужна",
    "credentialsRequired": "{country}: обучение катанию на горных лыжах и сноуборде за плату — регулируемая профессия. Инструктору нужна квалификация: {credential}. Инструкторы, отмеченные на Alpine Pal как сертифицированные, либо прислали нам свои документы на проверку, либо за них отвечает пригласившая их горнолыжная школа.",
    "credentialsNotRequired": "{country}: государственной лицензии на преподавание нет. Профессиональный стандарт — {credential}, а Alpine Pal показывает, какая квалификация есть у каждого инструктора, чтобы вы могли оценить её сами.",
    "credentialsName": "Квалификация",
    "credentialsIssuer": "Кем выдана",
    "credentialsRegister": "Публичный реестр:",
    "credentialsDisclaimer": "Это краткая справка, а не юридическая консультация. Ответственность за наличие действующей квалификации несёт инструктор.",
    "faqTitle": "{country}: частые вопросы о катании",
    "relatedTitle": "Соседние страны",
    "ctaTitle": "{country}: готовы забронировать?",
    "ctaBody": "Сравните инструкторов, напишите им до бронирования и безопасно оплатите занятие через платформу.",
    "ctaButton": "Найти инструктора",
    "onThisPage": "На этой странице",
    "navGuide": "Обзор",
    "navInstructors": "Инструкторы",
    "navResorts": "Курорты",
    "navQualifications": "Квалификация",
    "navFaq": "Вопросы",
    "availableTitle": "Где можно забронировать прямо сейчас",
    "availableIntro": "{country}: курорты, где сегодня хотя бы один инструктор принимает бронирования на Alpine Pal.",
    "tableResort": "Курорт",
    "tableRegion": "Регион",
    "tableInstructors": "Инструкторы",
    "tableFrom": "Цена от",
    "guideTitle": "Катание на горных лыжах — {country}"
  },
  "instructor": {
    "verified": "Проверенный профиль",
    "identityVerified": "Личность подтверждена",
    "certificationsVerified": "Сертификаты проверены",
    "age": "Возраст: {age}",
    "yearsExperience": "опыт, лет",
    "completedLessons": "проведено занятий",
    "responseRate": "Доля ответов",
    "averageResponse": "Среднее время ответа",
    "instantConfirmation": "Мгновенное подтверждение",
    "biography": "Обо мне",
    "specialties": "Специализация",
    "resorts": "Горнолыжные курорты",
    "languages": "Языки преподавания",
    "certifications": "Сертификаты",
    "pricing": "Цены",
    "extraStudentPrice": "За дополнительного ученика",
    "perExtraStudent": "за доп. ученика/ч",
    "perExtraStudentLesson": "за доп. ученика/занятие",
    "reviews": "Отзывы",
    "book": "Забронировать занятие",
    "favourite": "В избранное",
    "favourited": "В избранном",
    "sendMessage": "Написать",
    "kind": {
      "certified": "Сертифицированный инструктор",
      "enthusiast": "Компаньон по катанию"
    },
    "kindBadge": {
      "certified": {
        "male": "Официальная квалификация",
        "female": "Официальная квалификация",
        "unspecified": "Официальная квалификация"
      }
    },
    "newBadge": {
      "male": "Новый профиль",
      "female": "Новый профиль",
      "unspecified": "Новый профиль",
      "school": "Новая школа"
    },
    "noReviewsYet": "Отзывов пока нет",
    "verifiedBadge": {
      "male": "Проверенный профиль",
      "female": "Проверенный профиль",
      "unspecified": "Проверенный профиль"
    },
    "verifiedBySchool": {
      "male": "Профиль проверен школой",
      "female": "Профиль проверен школой",
      "unspecified": "Профиль проверен школой"
    },
    "genderLabel": "Пол",
    "gender": {
      "male": "Мужчина",
      "female": "Женщина",
      "unspecified": "Не указывать"
    },
    "certificationsDeclared": "Указано инструктором, мы пока не проверяли",
    "certificationsSchoolBacked": "Подтверждено школой {school}, которая пригласила инструктора",
    "noCertifications": "Квалификация пока не указана.",
    "certExpired": "Срок истёк",
    "certExpiredWarning": "Срок действия одной из ваших квалификаций истёк. Загрузите обновлённый документ, чтобы в профиле была действующая квалификация.",
    "freeCancellation": "Бесплатная отмена — срок: {window} до начала занятия"
  },
  "bio": {
    "machineFrom": {
      "en": "Автоматический перевод с английского",
      "es": "Автоматический перевод с испанского",
      "it": "Автоматический перевод с итальянского",
      "fr": "Автоматический перевод с французского",
      "de": "Автоматический перевод с немецкого",
      "pl": "Автоматический перевод с польского",
      "nl": "Автоматический перевод с нидерландского",
      "ru": "Автоматический перевод с русского"
    },
    "originalIn": {
      "en": "Написано на английском — русской версии пока нет",
      "es": "Написано на испанском — русской версии пока нет",
      "it": "Написано на итальянском — русской версии пока нет",
      "fr": "Написано на французском — русской версии пока нет",
      "de": "Написано на немецком — русской версии пока нет",
      "pl": "Написано на польском — русской версии пока нет",
      "nl": "Написано на нидерландском — русской версии пока нет",
      "ru": "Написано на русском — других версий пока нет"
    },
    "sourceLabel": "Язык, на котором вы пишете",
    "sourceHelp": "Напишите биографию один раз, на своём языке. Мы сами переведём её на другие языки сайта.",
    "originalLabel": "Ваша биография ({language})",
    "translationsTitle": "Переводы",
    "translationsHelp": "Создаются автоматически при сохранении. Любой из них можно изменить, если хотите написать своими словами.",
    "chooseLanguage": "Язык для просмотра или редактирования",
    "auto": "Автоперевод",
    "yours": "Ваш текст",
    "pending": "Ещё не переведено",
    "willUpdate": "При сохранении этот текст будет создан заново.",
    "keptOnEdit": "Этот текст вы написали сами, поэтому он останется без изменений.",
    "edit": "Редактировать",
    "restoreAuto": "Использовать автоматический перевод",
    "close": "Закрыть"
  },
  "favourites": {
    "empty": "У вас пока нет избранных инструкторов. Нажмите на сердечко в профиле инструктора, чтобы сохранить его здесь.",
    "remove": "Убрать"
  },
  "settings": {
    "photoAlsoPublic": "Это же фото показывается в вашем публичном профиле инструктора.",
    "title": "Настройки аккаунта",
    "subtitle": "Ваши личные данные и предпочтения.",
    "firstName": "Имя",
    "lastName": "Фамилия",
    "email": "Электронная почта",
    "country": "Страна",
    "preferredLanguage": "Предпочитаемый язык",
    "maxStudents": "Максимум учеников на занятии",
    "privateLessons": "Индивидуальные занятия",
    "groupLessons": "Групповые занятия",
    "groupEnabled": "Проводить групповые занятия",
    "groupEnabledHelp": "По умолчанию выключено. После включения вы сможете публиковать групповые занятия из календаря; новые занятия получат цену, указанную ниже.",
    "groupPrice": "Цена за человека",
    "groupPriceHelp": "За место на всё занятие. Изменение цены затронет и групповые занятия, которые уже есть в вашем календаре.",
    "minNotice": "Минимальное время до начала занятия",
    "minNoticeHelp": "Клиенты видят ваши свободные часы, только если бронируют как минимум за это время.",
    "autoAccept": "Мгновенное подтверждение",
    "autoAcceptHelp": "Оплаченные бронирования подтверждаются сразу, вам не нужно их принимать. Подтверждённое занятие всё равно можно отменить, вернув клиенту всю сумму.",
    "disciplineHelp": "По этому параметру клиенты фильтруют поиск, поэтому обновите его, если начнёте преподавать вторую дисциплину.",
    "noticeNone": "Без ограничений",
    "noticeHours": "Минимум за {n} ч",
    "saved": "Изменения сохранены",
    "cancellationWindow": "Правила отмены",
    "cancellationOption": "Бесплатно — срок: {window} до начала",
    "cancellationOptionDefault": "Бесплатно — срок: {window} до начала (по умолчанию)",
    "cancellationWindowHelp": "После подтверждения занятия клиент ещё может отменить его с полным возвратом средств, пока до начала остаётся не меньше этого срока; позже возврата нет. Правило действует для ваших индивидуальных и групповых занятий, клиенты видят его в вашем профиле и перед оплатой. Для уже сделанных бронирований сохраняются правила, действовавшие при бронировании.",
    "cancellationBySchool": "Устанавливает ваша школа. Бесплатная отмена — срок: {window} до начала занятия."
  },
  "lessonsPage": {
    "noGroupLessons": "Групповых занятий нет",
    "movedInstructor": "Цены, число учеников, минимальное время до занятия и мгновенное подтверждение теперь находятся в разделе",
    "privateTitle": "Индивидуальные занятия",
    "groupTitle": "Групповые занятия",
    "privateIntro": "Занятия для одного клиента и его компании, без посторонних. Здесь вы решаете, как их продавать, по какой цене и в какие часы.",
    "privateIntroSchool": "Индивидуальные занятия, которые школа продаёт, не называя инструктора: вы публикуете часы, клиент бронирует и платит, а инструктора вы назначаете, когда захотите. Выберите инструктора выше, чтобы увидеть его занятия.",
    "privateIntroPerson": "Индивидуальные занятия этого инструктора: его цены и календарь. Если календарь ведёт школа, он редактируется здесь.",
    "groupIntro": "Занятия с продажей по местам: каждый бронирует и оплачивает своё место, а занимаются все вместе. Включите их, укажите цену за человека и опубликуйте в календаре.",
    "groupIntroSchool": "Групповые занятия, которые публикует школа: цена за человека, число мест, уровень и место встречи задаются при публикации каждого занятия, а потом его можно передать инструктору из вашей команды.",
    "groupIntroPerson": "Групповые занятия этого инструктора: его цена за человека и календарь. Если календарь ведёт школа, они публикуются здесь.",
    "resortPick": "Курорт",
    "resortCopyFrom": "Скопировать с другого курорта",
    "resortHint": "Всё, что ниже, относится только к этому курорту: как продаются занятия, цены и календарь.",
    "resortOwn": "У этого курорта свои настройки.",
    "resortShared": "Пока здесь действуют общие настройки школы; то, что вы сохраните, изменит только этот курорт.",
    "resortCopied": "Скопировано с курорта {resort}: цены и условия, но не календарь. Проверьте и нажмите «Сохранить».",
    "whose": "Показать",
    "howTitle": "Как они продаются",
    "modeHoursTitle": "По часам",
    "modeHoursBody": "Клиент выбирает время начала и число часов. Вы указываете цену за час.",
    "modeFormatsTitle": "Фиксированные форматы",
    "modeFormatsBody": "Заданное время (утро, день, целый день…), у каждого формата своя цена за всю группу, которая может меняться по сезонам.",
    "modeHoursPicture": "Пример: часы открыты с 9:00 до 17:00, клиент бронирует два из них",
    "modeFormatsPicture": "Пример: утреннее занятие 9:00–13:00, дневное 13:00–17:00 и целый день 9:00–17:00",
    "modeNote": "Переключиться можно в любой момент: настройки другого способа сохранятся на случай, если вы вернётесь.",
    "rosterModeNote": "Здесь вы решаете, как и по какой цене продаёт занятия каждый инструктор; его групповые занятия — в разделе «Групповые занятия».",
    "rosterNoticeHelp": "Клиенты видят его свободные часы, только если бронируют как минимум за это время.",
    "rosterAutoAcceptHelp": "Оплаченные бронирования подтверждаются сразу, школе не нужно их принимать. Подтверждённое занятие всё равно можно отменить, вернув клиенту всю сумму.",
    "rosterTermsByInstructor": "Максимальное число учеников, минимальное время до занятия и мгновенное подтверждение задаёт инструктор, потому что сам ведёт свой календарь. Если календарь ведёт школа (это настраивается в разделе «Инструкторы»), они задаются здесь.",
    "rosterGroupHelp": "По умолчанию выключено. После включения его групповые занятия можно публиковать в календаре ниже. Цена указывается за место на всё занятие; её изменение затронет и уже опубликованные занятия.",
    "followSchoolHours": "Использовать открытые часы школы",
    "followSchoolHoursOn": "В его календаре те же открытые часы, что и у занятий без назначенного инструктора на курортах, где он работает, и они меняются вместе с ними. Одно занятие в одно время. Выключите эту настройку, чтобы задать ему собственные часы: за основу будут взяты текущие.",
    "followSchoolHoursOff": "Если включить, его открытые часы станут такими же, как у занятий без назначенного инструктора, и будут меняться вместе с ними.",
    "calendarFollowsSchool": "Это открытые часы школы. Измените их в календаре «Занятия без назначенного инструктора» или выключите «Использовать открытые часы школы», чтобы задать ему собственные часы.",
    "instructorModeBySchool": "Как продавать индивидуальные занятия и по какой цене, решает ваша школа.",
    "instructorFollowsSchool": "Вы продаёте занятия по форматам и ценам школы: они меняются, когда школа меняет свои.",
    "paramsHoursTitle": "Цена и условия",
    "paramsFormatsTitle": "Форматы, сезоны и цены",
    "calendarTitle": "Календарь",
    "calendarHoursHint": "Часы, на которые можно забронировать занятие. Групповые занятия показаны штриховкой: ими управляют в разделе «Групповые занятия».",
    "calendarFormatsHint": "Форматы продаются только в часы, открытые здесь: откройте как минимум часы каждого формата. Групповые занятия показаны штриховкой: ими управляют в разделе «Групповые занятия».",
    "calendarGroupHint": "Светло-зелёным отмечены часы, открытые для индивидуальных занятий; групповое занятие, опубликованное на эти часы, занимает их.",
    "calendarGroupSeatHint": "Групповые занятия не занимают места индивидуальных занятий. Каждое занятие можно передать инструктору.",
    "groupSettingsTitle": "Включить и указать цену",
    "groupPriceTitle": "Цена за человека",
    "groupOffNotice": "Групповые занятия выключены: включите их на шаге 1, укажите цену и сохраните, чтобы их можно было публиковать.",
    "notOnSaleNotice": "Здесь пока ничего не продаётся: на шаге 2 указано, чего не хватает. Часы можно открыть уже сейчас.",
    "cancellationChange": "Изменить в профиле"
  },
  "booking": {
    "reviewAndPay": "Проверка и оплата",
    "checkout": "Оплата",
    "summary": "Детали бронирования",
    "instructor": "Инструктор",
    "resort": "Курорт",
    "date": "Дата",
    "time": "Время",
    "duration": "Длительность",
    "language": "Язык",
    "students": "Ученики",
    "oneGroupNote": "В этой школе один инструктор на каждый уровень и возраст: все ученики в бронировании должны быть одного уровня и одного возраста (взрослые или дети).",
    "oneGroupMixed": "У этих учеников разные уровни или возраст. Сделайте отдельное бронирование для каждой группы: вернитесь и забронируйте только учеников одного уровня и возраста.",
    "oneGroupBack": "Изменить число учеников",
    "studentN": "Ученик {n}",
    "studentName": "Имя и фамилия",
    "studentAge": "Возраст",
    "studentLevel": "Уровень",
    "studentDetails": "Данные учеников",
    "yearsOld": "Возраст: {n}",
    "contactPhone": "Контактный телефон",
    "contactPhoneHint": "По этому номеру {name} сможет связаться с вами в день занятия.",
    "errorStudentName": "Укажите имя ученика.",
    "errorStudentAge": "Укажите возраст ученика.",
    "errorStudentAgeRange": "Этот возраст не подходит для занятия: {who}.",
    "errorContactPhone": "Укажите номер телефона с кодом страны.",
    "errorDetailsAbove": "Проверьте поля, отмеченные красным: не заполнены данные учеников или телефон.",
    "actionsTitle": "Действия",
    "accountClosed": "Аккаунт закрыт",
    "instructorPaused": "Этот профиль сейчас не опубликован.",
    "refundLabel": "Возврат средств",
    "refundInProgress": "Выполняется",
    "refundedLabel": "Деньги возвращены",
    "refundPendingNote": "Мы оформляем возврат средств. Деньги поступят на тот способ оплаты, который вы использовали.",
    "refundBankNote": "Деньги поступят на тот способ оплаты, который вы использовали. В зависимости от банка это может занять от 5 до 10 рабочих дней.",
    "pickAnotherTime": "Выбрать другую дату или время",
    "slotNoLongerBookable": "Это время больше нельзя забронировать: до занятия осталось меньше минимального срока, установленного инструктором.",
    "priceChanged": "Инструктор изменил цену, пока эта страница была открыта. Проверьте новую сумму и нажмите кнопку ещё раз, чтобы оплатить.",
    "customerNoShow": "Клиент не пришёл",
    "customerNoShowTitle": "Отметить неявку клиента?",
    "customerNoShowBody": "Занятие будет считаться проведённым, и вы получите оплату. Клиент получит уведомление — делайте это, только если он действительно не пришёл.",
    "customerNoShowToast": "Отмечено. Занятие считается проведённым.",
    "messageToInstructor": "Сообщение инструктору (необязательно)",
    "messagePlaceholder": "Расскажите инструктору о своём опыте, целях и обо всём, что ему стоит знать.",
    "priceBreakdown": "Расчёт стоимости",
    "extraStudents": "+{count} учеников × {hours} ч",
    "extraStudents_one": "+{count} ученик × {hours} ч",
    "extraStudents_few": "+{count} ученика × {hours} ч",
    "extraStudentsLesson": "+{count} учеников",
    "extraStudentsLesson_one": "+{count} ученик",
    "extraStudentsLesson_few": "+{count} ученика",
    "total": "Итого",
    "payAndSend": "Оплатить и отправить запрос",
    "paymentTitle": "Оплата",
    "paymentNotice": "Деньги будут списаны сейчас. Бронирование останется в ожидании, пока инструктор его не одобрит. Если инструктор отклонит запрос или не ответит вовремя, вы получите полный возврат средств.",
    "paymentNoticeInstant": "Деньги будут списаны сейчас, и занятие подтвердится сразу после оплаты.",
    "paymentNoticeGroup": "Деньги будут списаны сейчас, и ваше место подтвердится сразу после оплаты. Если занятие отменят, вы получите полный возврат средств.",
    "paymentNoticeSchool": "Деньги будут списаны сейчас. Бронирование останется в ожидании, пока школа его не одобрит. Если школа отклонит запрос или не ответит вовремя, вы получите полный возврат средств.",
    "paymentNoticePack": "Сумма за весь пакет будет списана сейчас, и пакет подтвердится сразу после оплаты. Отменить его можно только целиком и заблаговременно, до первого дня. Если один из дней отменят, вам вернут его стоимость.",
    "paymentNoticePackRequest": "Сумма за весь пакет будет списана сейчас. Пакет останется в ожидании, пока школа его не одобрит; если школа откажет или не ответит вовремя, вы получите полный возврат средств. Отменить пакет можно только целиком и заблаговременно, до первого дня.",
    "paymentNoticePackRequestInstructor": "Сумма за весь пакет будет списана сейчас. Пакет останется в ожидании, пока инструктор его не одобрит; если инструктор откажет или не ответит вовремя, вы получите полный возврат средств. Отменить пакет можно только целиком и заблаговременно, до первого дня.",
    "cancellationPolicy": "Правила отмены",
    "cancellationPolicyBody": "Пока инструктор не подтвердил занятие, отмена бесплатна. После подтверждения срок отмены с полным возвратом средств: {window} до начала занятия. Если инструктор откажет или не ответит вовремя, вы получите полный возврат средств.",
    "cancellationPolicyLastMinute": "До начала занятия меньше, чем {window}: после подтверждения инструктором отменить его будет нельзя. Если инструктор откажет или не ответит вовремя, вы всё равно получите полный возврат средств.",
    "cancellationPolicyBodySchool": "Пока школа не подтвердила занятие, отмена бесплатна. После подтверждения срок отмены с полным возвратом средств: {window} до начала занятия. Если школа откажет или не ответит вовремя, вы получите полный возврат средств.",
    "cancellationPolicyBodyInstant": "Занятие подтверждается сразу после оплаты, ждать ответа не нужно. Срок отмены с полным возвратом средств: {window} до начала; позже отменить занятие будет нельзя.",
    "cancellationPolicyBodyGroup": "Ваше место подтверждается сразу после оплаты. Срок отмены с полным возвратом средств: {window} до начала занятия; позже отменить его будет нельзя.",
    "cancellationPolicyLastMinuteSchool": "До начала занятия меньше, чем {window}: после подтверждения школой отменить его будет нельзя. Если школа откажет или не ответит вовремя, вы всё равно получите полный возврат средств.",
    "cancellationPolicyLastMinuteInstant": "До начала занятия меньше, чем {window}: оно подтвердится сразу после оплаты, и отменить его будет нельзя.",
    "cancel": "Отменить бронирование",
    "cancelByInstructor": "Отменить занятие",
    "cancelTitle": "Отменить бронирование?",
    "cancelBody": "Запрос будет отменён, и инструктор его больше не увидит.",
    "cancelBodyPaid": "Запрос будет отменён, и вы получите полный возврат средств.",
    "cancelByInstructorBody": "Занятие будет отменено, а клиент получит полный возврат средств. Отмена подтверждённых занятий влияет на вашу репутацию: делайте это только в крайнем случае.",
    "cancelConfirm": "Да, отменить",
    "cancelBodyConfirmed": "Подтверждённое занятие будет отменено, и вы получите полный возврат средств. Это время снова освободится у инструктора.",
    "freeCancelUntil": "Бесплатная отмена до {date} (по времени курорта)",
    "cancelWindowClosed": "Срок бесплатной отмены истёк: до начала занятия меньше, чем {window}.",
    "cancelWindowClosedAsk": "{name} ещё может отменить занятие с полным возвратом средств: попросите об этом в чате.",
    "cancelWindowClosedAskGroup": "{name} ещё может отменить ваше место с полным возвратом средств: попросите об этом в чате.",
    "managedBySchoolNotice": "На этот запрос за вас отвечает ваша школа.",
    "manageInSchoolPanel": "Управлять в кабинете школы",
    "schoolLabel": "Школа",
    "unassignedNote": "Инструктора назначит школа, и он будет ждать вас на месте встречи. С любыми вопросами пишите в чат: вам ответит школа.",
    "unassignedShort": "Инструктора назначит школа",
    "lessonType": "Тип занятия",
    "groupLesson": "Групповое занятие",
    "groupMax": "До {n} чел.",
    "groupSeatsLeft": "Осталось {count} мест",
    "groupSeatsLeft_one": "Осталось {count} место",
    "groupSeatsLeft_few": "Осталось {count} места",
    "perPerson": "за человека",
    "groupPriceWhole": "За всё занятие ({hours} ч)",
    "groupFromPerPerson": "Групповые занятия от {price} за человека",
    "groupCheckoutNote": "Это групповое занятие: к нему могут присоединиться другие клиенты, всего до {n} чел.",
    "groupQuorumNotice": "Минимальное число участников для этого занятия: {min}. Если за {hours} ч до начала участников будет меньше, занятие отменят и вернут вам всю сумму.",
    "schoolViewerNote": "Вы видите это бронирование как школа инструктора. Чат и место встречи остаются между инструктором и клиентом.",
    "rejectConfirmTitle": "Отклонить запрос?",
    "rejectConfirmBody": "Клиент получит полный возврат средств, а запрос нельзя будет открыть снова. Если вам просто не подходит время, лучше предложите другое.",
    "proposeTimeBody": "Клиент может принять новое время или отказаться от него и оставить исходный запрос открытым.",
    "proposeFormatNote": "Это занятие продано как фиксированный формат: его можно перенести только на другой день на те же часы, если в этот день формат продаётся по той же цене.",
    "proposeMessagePlaceholder": "Необязательное сообщение для клиента…",
    "proposeSent": "Новое время предложено. Клиент получил уведомление.",
    "completePayment": "Завершить оплату",
    "declinedProposedToast": "Новое время отклонено, исходный запрос снова открыт.",
    "completePaymentBody": "Это бронирование ждёт оплаты, и инструктор не увидит запрос, пока она не пройдёт. Когда вы откроете форму оплаты, мы придержим это время для вас на {minutes} мин; если бронирование больше не нужно, отмените его.",
    "cancelledToast": "Бронирование отменено",
    "processing": "Обработка платежа…",
    "paymentSuccess": "Оплата прошла успешно",
    "confirmationTitle": "Ваше бронирование обрабатывается",
    "confirmationBody": "Мы списали деньги с вашей карты и открыли личный чат с инструктором. Вы получите уведомление, как только он ответит.",
    "confirmedTitle": "Ваше занятие подтверждено",
    "confirmedTitleGroup": "Ваше место подтверждено",
    "confirmedBody": "Мы списали деньги с вашей карты и открыли личный чат для занятия. Место встречи и все детали указаны на странице бронирования.",
    "openChat": "Открыть чат с инструктором",
    "responseDeadline": "Время на ответ инструктора: {time}.",
    "responseDeadlineExpired": "Срок ответа истёк.",
    "proposalDeadlineCustomer": "Осталось времени на ответ: {time}.",
    "proposalDeadlineOther": "Время на ответ клиента: {time}.",
    "status": {
      "payment_pending": "Ожидает оплаты",
      "payment_failed": "Оплата не прошла",
      "pending_instructor_approval": "Ждёт ответа инструктора",
      "change_proposed": "Предложено изменение",
      "confirmed": "Подтверждено",
      "rejected_by_instructor": "Отклонено инструктором",
      "expired": "Срок истёк",
      "cancelled_by_customer": "Отменено клиентом",
      "cancelled_by_instructor": "Отменено инструктором",
      "refunded": "Деньги возвращены",
      "upcoming": "Предстоит",
      "in_progress": "Идёт",
      "completed": "Завершено",
      "no_show_customer": "Неявка клиента",
      "no_show_instructor": "Неявка инструктора",
      "disputed": "Идёт разбирательство"
    },
    "payment": {
      "pending": "Ожидает оплаты",
      "processing": "Обрабатывается",
      "succeeded": "Оплачено",
      "failed": "Ошибка оплаты",
      "authentication_required": "Требуется подтверждение",
      "refund_pending": "Ожидает возврата",
      "refunded": "Деньги возвращены"
    },
    "acceptRequest": "Принять",
    "rejectRequest": "Отклонить",
    "proposeTime": "Предложить другое время",
    "acceptProposed": "Принять новое время",
    "declineProposed": "Отклонить новое время",
    "demoNotice": "Это тестовый платёж. Реального списания не будет.",
    "mockCardHint": "В демо-режиме подойдёт любой номер карты.",
    "securedByStripe": "Безопасная оплата через Stripe",
    "continueToPayment": "Перейти к оплате",
    "continueHint": "Данные карты вы введёте на следующем шаге, не покидая эту страницу.",
    "signInToPay": "Войдите, чтобы продолжить",
    "signInToPayBody": "Регистрация бесплатная и занимает минуту. Аккаунт нужен, чтобы бронирование, чат и квитанция были привязаны к вам.",
    "processingTitle": "Подтверждаем ваш платёж",
    "processingBody": "Обычно это занимает несколько секунд. Страницу можно закрыть: мы напишем вам на почту, как только платёж пройдёт.",
    "slotGoneTitle": "Это время уже занято",
    "slotGoneBody": "Пока вы платили, это время забронировали или закрыли, поэтому бронирование не оформлено. Мы возвращаем всю сумму на тот же способ оплаты; в зависимости от банка это может занять несколько дней.",
    "paymentReturnedTitle": "Мы возвращаем ваш платёж",
    "paymentReturnedBody": "Это бронирование больше не действует. Сумма вернётся на тот же способ оплаты; в зависимости от банка это может занять несколько дней.",
    "loadingPayment": "Открываем защищённую форму оплаты…",
    "holdUntil": "Мы держим это время для вас до {clock} (осталось: {time}).",
    "holdExpired": "Срок удержания ({minutes} мин) истёк: это время больше не закреплено за вами, и его могут забронировать другие.",
    "holdRenew": "Проверить и снова удержать время",
    "kindLabel": "Вид занятия",
    "kindPrivate": "Индивидуальное занятие",
    "kindGroup": "Групповое занятие",
    "cancellationPolicyBodyPack": "Срок отмены всего пакета с полным возвратом средств: {window} до первого дня. Позже отменить его нельзя. Если один из дней отменят, вам вернут его стоимость.",
    "addToCalendar": "Добавить в мой календарь",
    "addToCalendarGoogle": "Google Calendar",
    "addToCalendarFile": "Apple / Outlook"
  },
  "chat": {
    "directChat": "Личный чат",
    "directSubtitle": "Личная переписка: можно пообщаться до бронирования занятия.",
    "empty": "Сообщений пока нет. Начните разговор!",
    "emptyList": "У вас пока нет диалогов.",
    "unknownUser": "Пользователь",
    "notReady": "Чат откроется после завершения оплаты.",
    "prePayTitle": "Есть вопросы до оплаты?",
    "prePayBody": "Чат этого бронирования откроется после оплаты. Если хотите сначала что-то спросить у инструктора, напишите ему: он ответит в отдельном диалоге.",
    "prePayCta": "Написать инструктору",
    "prePayNewTab": "Откроется в новой вкладке",
    "sendPlaceholder": "Напишите сообщение…",
    "send": "Отправить",
    "typing": "печатает…",
    "failed": "Не удалось отправить сообщение.",
    "readOnly": "Это бронирование закрыто. Переписка доступна только для чтения.",
    "meetingPoint": "Место встречи",
    "proposeMeeting": "Предложить место встречи",
    "confirmMeeting": "Подтвердить место встречи",
    "meetingConfirmed": "Место встречи подтверждено",
    "meetingProposedBy": "Автор предложения: {who}",
    "meetingProposedByYou": "Предложено вами",
    "system": {
      "accepted": "Бронирование принято инструктором.",
      "rejected": "Бронирование отклонено инструктором.",
      "acceptedNewTime": "Новое время занятия принято клиентом.",
      "refundInitiated": "Оформлен возврат средств."
    },
    "answeredBySchool": "От имени инструктора {name} отвечает школа {school}.",
    "writingForInstructor": "Вы пишете от имени инструктора {name}: у этого профиля пока нет аккаунта.",
    "forInstructor": "Инструктор: {name}"
  },
  "dashboard": {
    "customer": {
      "title": "Мой кабинет",
      "overview": "Обзор",
      "nextLesson": "Следующее занятие",
      "pendingResponses": "Ждут ответа инструктора",
      "unreadMessages": "Непрочитанные сообщения",
      "empty": "У вас пока нет бронирований.",
      "browse": "Найти инструктора",
      "pastLessons": "Прошедшие занятия"
    },
    "instructor": {
      "title": "Кабинет инструктора",
      "notManaging": "Вы не управляете ни одним инструктором.",
      "notManagingGo": "Перейти к инструкторам",
      "pendingRequests": "Запросы на бронирование в ожидании",
      "upcomingLessons": "Предстоящие занятия",
      "monthEarnings": "В этом месяце",
      "rating": "Средняя оценка",
      "requestsEmpty": "Запросов в ожидании нет.",
      "requestsManagedBySchool": "На ваши запросы на бронирование отвечает школа. Здесь можно следить за ними и открывать чат.",
      "youEarn": "Ваш доход ({percent}%)",
      "bookingRef": "Бронирование #{ref}",
      "studentsCount": "{count} учеников",
      "studentsCount_one": "{count} ученик",
      "studentsCount_few": "{count} ученика",
      "noAvailabilityTitle": "Ваш календарь пуст",
      "noAvailabilityBody": "Вы ещё не опубликовали часы занятий, поэтому клиенты не могут вас забронировать. Откройте часы, в которые хотите преподавать.",
      "noAvailabilityCta": "Указать доступное время",
      "acting": {
        "banner": "Вы управляете от имени Alpine Pal. Инструктор: {name}.",
        "moneyReadOnly": "Выплаты и вывод средств остаются за инструктором: вы видите их здесь, но изменить не можете.",
        "messagesNotice": "Здесь показаны ваши собственные переписки от имени Alpine Pal, а не переписки инструктора.",
        "accountNotice": "Способ выплаты и закрытие аккаунта остаются за инструктором: здесь ими управлять нельзя.",
        "calendarNotice": "Google Calendar принадлежит инструктору: здесь им управлять нельзя."
      },
      "connectionsIntro": "Подключите Alpine Pal к своему Google Calendar: занятия будут появляться в нём автоматически, а занятые в календаре часы при желании можно закрыть для бронирования."
    }
  },
  "review": {
    "submit": "Отправить отзыв",
    "verifiedBooking": "Подтверждённое бронирование",
    "rateInstructor": "Оцените инструктора",
    "rateCustomer": "Оцените ученика",
    "commentPlaceholder": "Расскажите, как прошло занятие (необязательно)",
    "submittedToast": "Спасибо за отзыв!",
    "thanks": "Вы уже оставили отзыв об этом занятии. Спасибо!",
    "pendingBadge": "Оцените занятие",
    "clientRating": "{count} отзывов",
    "clientRating_one": "{count} отзыв",
    "clientRating_few": "{count} отзыва",
    "clientRatingEmpty": "Новый клиент, отзывов пока нет",
    "toReview": "Занятия без отзыва"
  },
  "calendar": {
    "title": "Доступное время",
    "subtitle": "Нажмите на свободный час, чтобы открыть его, или на открытый, чтобы убрать. Время указано по часовому поясу курорта.",
    "today": "Сегодня",
    "prevWeek": "Предыдущая неделя",
    "nextWeek": "Следующая неделя",
    "weekOf": "Неделя с {date}",
    "addTitle": "Добавить доступное время",
    "untilHour": "До",
    "oneOff": "Разово",
    "recurring": "Регулярно (каждую неделю)",
    "recurringUntil": "Повторять до",
    "noEndDate": "Оставьте пустым, чтобы повторять без даты окончания.",
    "add": "Добавить",
    "removeTitle": "Убрать доступное время",
    "removeBody": "Этот час входит в регулярное расписание. Убрать его только в этот день или всю серию?",
    "removeSingleDay": "Только этот день",
    "removeSeries": "Всю серию",
    "legendAvailable": "Доступно",
    "legendUnavailable": "Недоступно",
    "legendConfirmed": "Подтверждённое занятие",
    "legendPending": "Запрос в ожидании",
    "legendInProgress": "Занятие идёт",
    "legendCompleted": "Завершено",
    "legendProblem": "Нерешённая проблема",
    "legendBooked": "Забронировано",
    "legendPendingSlot": "Бронируется",
    "legendSelected": "Ваш выбор",
    "legendYourBooking": "Ваше бронирование",
    "legendYourPending": "Ваш запрос в ожидании",
    "noticeWindowBlocked": "Вы просите предупреждать за {hours} ч, поэтому забронировать этот час никто не успеет. Откройте часы подальше вперёд или сократите срок предупреждения в разделе «Индивидуальные занятия».",
    "jumpToNext": "Ближайшее свободное занятие: {date}",
    "noneAvailableSoon": "В ближайшие недели свободного времени нет.",
    "emptyResortHint": "На этом курорте пока нет открытых часов. Нажмите на любой свободный час в сетке, чтобы открыть его.",
    "managedBySchool": "Этим календарём управляет ваша школа. Здесь его можно посмотреть, а изменения вносятся в кабинете школы.",
    "legendExternal": "Занято в другом месте",
    "selectHint": "Нажмите на свободный час, чтобы начать; нажмите на следующий, чтобы сделать занятие длиннее.",
    "clearSelection": "Сбросить выбор",
    "noSelection": "Выберите время в календаре",
    "noFormatSelection": "Выберите формат и день в календаре",
    "legendGroup": "Групповое занятие",
    "legendGroupFull": "Групповое занятие · мест нет",
    "groupCellTitle": "Групповое занятие · мест: {taken}/{capacity}",
    "groupCellJoinTitle": "Групповое занятие · осталось {count} мест · {price} с человека",
    "groupCellJoinTitle_one": "Групповое занятие · осталось {count} место · {price} с человека",
    "groupCellJoinTitle_few": "Групповое занятие · осталось {count} места · {price} с человека",
    "groupCellFullTitle": "Групповое занятие · мест нет",
    "groupToggle": "Групповое занятие",
    "groupToggleHint": "Присоединиться может любой, пока есть места; каждый платит за своё место. Публикуется сразу, нажимать «Сохранить» не нужно.",
    "groupCapacity": "Места",
    "groupMinStudents": "Минимум участников",
    "groupPrice": "Цена за человека",
    "groupPriceMin": "Минимум {price}",
    "groupLevel": "Уровень",
    "groupLanguage": "Язык занятия",
    "groupMeetingPoint": "Место встречи",
    "groupStillMissing": "Для публикации ещё нужно: {fields}.",
    "groupMeetingPointNone": "Не указано",
    "groupMeetingPointSuggested": "Использовать предложенное место встречи",
    "groupMeetingPointSet": "Указать",
    "groupMeetingPointChange": "Изменить",
    "groupMeetingPointSave": "Сохранить место встречи",
    "groupMeetingPointSaved": "Место встречи сохранено. Все участники получили уведомление.",
    "groupMeetingPointHint": "Постоянное и одинаковое для всех участников.",
    "publishGroup": "Опубликовать занятие",
    "groupPublished": "Групповое занятие опубликовано",
    "groupCancelled": "Групповое занятие отменено",
    "groupManageTitle": "Групповое занятие",
    "groupSeatsLabel": "Места",
    "groupCancelDay": "Отменить этот день",
    "groupCancelSeries": "Отменить серию",
    "groupCancelClass": "Отменить занятие",
    "groupCancelDayTitle": "Отменить занятие {date}?",
    "groupCancelSeriesTitle": "Отменить всю серию?",
    "groupCancelClassTitle": "Отменить это занятие?",
    "groupCancelDayScope": "Снимается только эта дата; остальная серия остаётся без изменений.",
    "groupCancelSeriesScope": "Отменяются все оставшиеся даты этой серии, включая ближайшие недели.",
    "groupCancelClassScope": "Занятие снимается с продажи и исчезает из календаря.",
    "groupCancelSeats": "Продано {count} мест: всем участникам полностью вернут деньги и сообщат об этом.",
    "groupCancelSeats_one": "Продано {count} место: всем участникам полностью вернут деньги и сообщат об этом.",
    "groupCancelSeats_few": "Продано {count} места: всем участникам полностью вернут деньги и сообщат об этом.",
    "groupCancelSeatsNone": "Проданных мест нет.",
    "groupCancelIrreversible": "Это действие нельзя отменить.",
    "groupCancelSeriesPhrase": "ОТМЕНИТЬ",
    "groupAssignLabel": "Передать занятие инструктору",
    "groupAssignPlaceholder": "Выберите инструктора",
    "groupAssignButton": "Назначить",
    "groupAssignHint": "Занятие и все забронированные места перейдут в календарь инструктора.",
    "groupAssignedToast": "Занятие назначено",
    "groupDisabledNotice": "Групповые занятия отключены. Включите их и укажите цену за человека в шаге 1 выше.",
    "groupPriceFromSettings": "Указывается в шаге 1 выше.",
    "seatSubtitle": "Нажмите на свободный час, чтобы открыть его, или на открытый, чтобы изменить число мест. В каждой ячейке: забронировано/всего мест. Время указано по часовому поясу курорта.",
    "seatCellTitle": "Забронировано: {taken} из {places}",
    "legendFull": "Мест нет",
    "placesLabel": "Места на индивидуальные занятия",
    "placesHint": "Сколько занятий одновременно вы можете продать в эти часы на этом курорте.",
    "placesTitle": "Места на этот час",
    "placesNow": "Мест: {places} · Забронировано: {taken}",
    "placesScopeDay": "Только этот день",
    "placesScopeWeekly": "Каждую неделю: {weekday}",
    "placesScopeDayHint": "Изменится только этот день; остальные недели останутся как были.",
    "placesScopeWeeklyHint": "Эти часы изменятся на все недели начиная с этого дня; предыдущие недели останутся как были.",
    "placesBelowTaken": "Уже забронировано занятий на эти часы: {taken}. Они сохранятся, даже если вы уменьшите число мест; перестанут продаваться только новые.",
    "placesRemove": "Убрать эти часы",
    "placesApply": "Применить",
    "seatCellGroups": "Групповые занятия: {n}",
    "hourIntro": "Что идёт в этот час: индивидуальные и групповые занятия рядом.",
    "hourPrivate": "Индивидуальные занятия",
    "hourNoPrivate": "В этот час индивидуальных занятий нет.",
    "hourOpenPrivate": "Открыть индивидуальные занятия",
    "hourChangePlaces": "Изменить число мест",
    "hourGroups": "Групповые занятия",
    "hourNoGroups": "В этот час групповых занятий нет.",
    "hourManage": "Управлять",
    "hourAddGroup": "Добавить групповое занятие",
    "weekdaysLabel": "Дни недели",
    "placesHintWithGroup": "Сколько индивидуальных занятий одновременно, не считая группового.",
    "seatOfferLabel": "В эти часы",
    "seatOfferPrivate": "Индивидуальные занятия",
    "seatOfferGroup": "Только групповое занятие",
    "seatOfferBoth": "Индивидуальные и групповое занятие",
    "seatOfferHintPrivate": "Часы в продаже для индивидуальных занятий с указанным числом мест. Сохраняются кнопкой «Сохранить».",
    "seatOfferHintGroup": "Только групповое занятие: индивидуальные в эти часы не продаются. Публикуется сразу, без кнопки «Сохранить».",
    "seatOfferHintBoth": "Групповое занятие публикуется сразу; места на индивидуальные сохраняются кнопкой «Сохранить».",
    "groupAudience": "Для кого",
    "groupAges": "Возраст (необязательно)",
    "groupAgesFrom": "От (лет)",
    "groupAgesTo": "До (лет)",
    "groupAgesHint": "Показывается в описании занятия. При бронировании все ученики должны быть детьми.",
    "groupAgesInvalid": "Возраст от {min} до {max}; первое значение не больше второго.",
    "groupCellChoose": "Групповые занятия: {n} · выберите одно",
    "groupChooseTitle": "Выберите занятие",
    "groupChoosePick": "Выбрать",
    "selectGroupHint": "Нажмите на занятие, чтобы выбрать его; если в этот час их несколько, вы сможете выбрать нужное.",
    "selectFormatHint": "Нажмите на цену, чтобы выбрать этот формат на этот день: это целое занятие на всю группу.",
    "formatMinDaysWeek": "Только на несколько дней подряд на этой неделе: {list}. Выберите первый день, и подсветятся все.",
    "formatMinDaysItem": "{format} (минимум дней: {days})",
    "formatNotSold": "В этот день не продаётся",
    "recurringSince": "Дата начала",
    "recurringSinceHint": "До этой даты ничего не откроется, поэтому сезон можно заполнить заранее.",
    "untilBeforeSince": "Дата окончания не может быть раньше даты начала.",
    "sinceOutOfRange": "Выберите дату начала от сегодняшнего дня до {date}.",
    "noWeekdayBetween": "Между этими двумя датами нет ни одного из выбранных дней.",
    "laterSeriesReplaced": "На этот день недели уже есть серия, которая начинается {date}. Без даты окончания или с более поздней датой эти места её заменят; чтобы сохранить её, закончите раньше этой даты.",
    "seriesSince": "с {date}",
    "seriesUntil": "до {date}",
    "privateTitle": "Календарь индивидуальных занятий",
    "groupTitle": "Календарь групповых занятий",
    "groupSubtitle": "Нажмите на час, чтобы опубликовать групповое занятие, или на занятие, чтобы управлять им. Время указано по часовому поясу курорта.",
    "legendPrivateOpen": "Открыто для индивидуальных занятий",
    "groupElsewhere": "управляется в разделе «Групповые занятия»",
    "legendGoogleBusy": "Занято в Google Calendar"
  },
  "languagePicker": {
    "placeholder": "Выберите языки",
    "search": "Поиск языка…",
    "noResults": "Такого языка нет."
  },
  "invoice": {
    "title": "Счёт на комиссию",
    "print": "Распечатать",
    "number": "Номер",
    "date": "Дата",
    "platformBlock": "Кем выставлен",
    "instructorBlock": "Кому выставлен",
    "colRef": "Номер",
    "colDate": "Дата",
    "colSubtotal": "Сумма занятия",
    "colFee": "Комиссия ({percent}%)",
    "colNet": "Инструктору (нетто)",
    "totals": "Итого",
    "provisionalNote": "Предварительный документ: налоговые реквизиты выставившего счёт ещё не заполнены.",
    "footnote": "В этом документе указана комиссия платформы, уже удержанная с занятий, которые вошли в вывод средств. Новых списаний он не создаёт.",
    "notAvailable": "Этот счёт недоступен.",
    "colFeeMixed": "Комиссия"
  },
  "meetingPoint": {
    "notAgreed": "Место встречи не согласовано",
    "proposed": "Место встречи предложено",
    "propose": "Предложить место встречи",
    "titleLabel": "Название",
    "areaLabel": "Зона курорта",
    "instructionsLabel": "Инструкции",
    "mapUrlLabel": "Ссылка на карту (необязательно)",
    "change": "Изменить место встречи",
    "viewMap": "Открыть карту",
    "locked": "Согласовать место встречи можно после подтверждения бронирования.",
    "groupPendingCustomer": "Инструктор ещё не указал место встречи для этого группового занятия. Как только оно появится, мы сообщим вам здесь.",
    "groupPendingInstructor": "У этого группового занятия пока нет места встречи. Укажите его в занятии в календаре, и все участники его получат.",
    "error": "Не удалось обновить место встречи."
  },
  "admin": {
    "overview": "Панель администратора",
    "attention": {
      "title": "Требует вашего внимания",
      "none": "Сейчас ничего не требует вашего внимания.",
      "instructors": "Инструкторы на проверку",
      "schools": "Школы на проверку",
      "disputes": "Открытые жалобы",
      "moneyAlerts": "Денежные оповещения на проверку",
      "manualPayouts": "Выплаты к отправке",
      "awaitingFunds": "Заявки на вывод ждут средств в Stripe",
      "open": "Открыть",
      "referrals": "Реферальные вознаграждения на проверку",
      "lueiraReviews": "Подключения Lueira на проверку"
    },
    "loadError": {
      "body": "Не удалось загрузить данные. Возможно, это временный сбой: попробуйте ещё раз.",
      "retry": "Попробовать ещё раз"
    },
    "instructors": "Инструкторы",
    "resorts": "Курорты",
    "bookings": "Бронирования",
    "colRef": "Номер",
    "instructorFilterPlaceholder": "Поиск по имени, slug, ID или статусу…",
    "noMatches": "По этому запросу инструкторов нет.",
    "copyId": "Скопировать ID аккаунта (Clerk)",
    "idCopied": "ID аккаунта скопирован",
    "gmv": "GMV",
    "savedToast": "Сохранено",
    "approve": "Одобрить",
    "schools": "Школы",
    "schoolsPending": "На проверке: {count}",
    "schoolsPending_one": "На проверке: {count}",
    "schoolsPending_few": "На проверке: {count}",
    "schoolOwner": "Владелец",
    "schoolInstructorCount": "Инструкторы: {n}",
    "schoolWebsite": "Сайт",
    "noSchools": "Школ пока нет.",
    "rejectSchoolTitle": "Отклонить эту школу?",
    "status": {
      "pending_review": "На проверке",
      "verified": "Проверена",
      "rejected": "Отклонена"
    },
    "instructorStatus": {
      "draft": "Черновик",
      "pending_review": "На проверке",
      "verified": "Проверен",
      "rejected": "Отклонён",
      "documents_expired": "Документы просрочены"
    },
    "finances": {
      "title": "Финансы",
      "available": "Доступно",
      "pending": "Ожидается",
      "onHold": "Удерживается",
      "paidOut": "Выведено",
      "byInstructor": "Баланс по инструкторам",
      "instructor": "Инструктор",
      "withdrawals": "Вывод средств",
      "reference": "Номер в Stripe",
      "empty": "Движений средств пока нет.",
      "commissionTitle": "Комиссия Alpine Pal",
      "commissionEarned": "Заработано",
      "commissionAtRisk": "Ещё не заработано",
      "commissionRefunded": "Возвращено",
      "commissionNote": "При возврате средств клиенту возвращается всё бронирование, включая нашу комиссию, поэтому заработанным считается только проведённое занятие.",
      "balance": {
        "title": "Баланс Stripe",
        "canMove": "Можно перевести в банк, не более",
        "available": "Доступно в Stripe",
        "pending": "Ещё в обработке",
        "mustKeep": "Должно остаться в Stripe",
        "manualToPay": "Из них выплаты вручную к отправке",
        "hint": "Остаться должно то, что причитается инструкторам и школам, плюс то, что ещё можно вернуть клиентам: при возврате клиенту возвращается всё бронирование, включая комиссию, пока деньги за это занятие не выведены. Учитывается только доступный баланс; платежи в обработке покроют то, к чему относятся. Когда выплачиваете вывод средств вручную, переведите эту сумму в свой банк, чтобы её отправить.",
        "unavailable": "Сейчас не удалось получить баланс Stripe.",
        "waitingTitle": "Заявки на вывод, ожидающие средств",
        "waitingHint": "Доступный баланс Stripe пока их не покрывает. Попытки повторяются каждый час, и деньги уйдут, как только баланса хватит. Если вы пополнили платёжный баланс в Stripe, нажмите «Повторить сейчас».",
        "shortfall": "Не хватает на доступном балансе Stripe: {amount}",
        "since": "с {date}",
        "attempts": "повторов: {n}",
        "retryNow": "Повторить сейчас",
        "retried": "Отправлено: {sent} · ещё ожидают: {waiting}"
      },
      "owedTitle": "Причитается инструкторам"
    },
    "colInstructor": "Инструктор",
    "colStatus": "Статус",
    "colChecks": "Проверки",
    "colActive": "Активность",
    "colActions": "Действия",
    "colResort": "Курорт",
    "colRegion": "Регион",
    "colInstructors": "Инструкторы",
    "active": "Активен",
    "inactive": "Неактивен",
    "verify": "Подтвердить",
    "reject": "Отклонить",
    "activate": "Активировать",
    "deactivate": "Деактивировать",
    "refund": "Вернуть деньги",
    "resortsNote": "Курорты хранятся как статический контент в src/data/resorts, здесь они доступны только для просмотра. «Инструкторы» и «Школы» — это профили, которые клиент может найти; «Проведено занятий» — проведённые занятия без возврата средств; «Предстоящие» — оплаченные бронирования, которые ещё впереди.",
    "viewDocument": "Посмотреть документ",
    "disputes": "Жалобы",
    "schoolSuspend": "Приостановить",
    "schoolReactivate": "Возобновить",
    "schoolClose": "Закрыть",
    "schoolSuspendedBadge": "Приостановлена",
    "schoolClosedBadge": "Закрыта",
    "continue": "Продолжить",
    "suspendSchoolTitle": "Приостановить школу {name}?",
    "suspendSchoolBody": "Её страница перестанет показываться, а занятия без назначенного инструктора перестанут продаваться. Уже сделанные бронирования сохранятся, а школа сможет и дальше пользоваться своим кабинетом и API. Администраторы школы получат уведомление на сайте и письмо. Возобновить работу школы можно в любой момент.",
    "suspendSchoolSureTitle": "Вы совершенно уверены?",
    "suspendSchoolSureBody": "Школа {name} будет немедленно снята с Alpine Pal, и её администраторы сразу об этом узнают.",
    "suspendSchoolNow": "Да, приостановить",
    "reactivateSchoolTitle": "Возобновить работу школы {name}?",
    "reactivateSchoolBody": "Её страница снова появится на сайте. Занятия без назначенного инструктора снова поступят в продажу на открытые часы школы. Администраторы школы получат уведомление.",
    "closeSchoolTitle": "Закрыть школу {name} навсегда?",
    "closeSchoolBody": "Что произойдёт. Инструкторы выйдут из команды и будут приостановлены до проверки (инструкторов: {roster}); их предстоящие занятия останутся за ними (занятий: {rosterLessons}). Профили, добавленные школой без аккаунта, будут закрыты (профилей: {unclaimed}). API-ключи будут отозваны, а вебхуки отключены.",
    "closeSchoolLoading": "Считаем, к чему приведёт закрытие…",
    "closeSchoolOwed": "Закрыть нельзя: школе ещё причитается {owed} с учётом средств, доступных к выводу, оплаты за предстоящие занятия и удерживаемых сумм. Закрытой школе выплатить деньги уже нельзя. Пока её можно приостановить, а закрыть после того, как ей будет выплачено всё.",
    "closeSchoolLessonsAhead": "Закрыть пока нельзя: у школы впереди {count} занятий, которые может провести только она (без назначенного инструктора или с инструкторами, добавленными без аккаунта), и сначала они должны состояться. Закройте школу, когда они пройдут и ей будет выплачено всё. Пока её можно приостановить.",
    "closeSchoolLessonsAhead_one": "Закрыть пока нельзя: у школы впереди {count} занятие, которое может провести только она (без назначенного инструктора или с инструктором, добавленным без аккаунта), и сначала оно должно состояться. Закройте школу, когда оно пройдёт и ей будет выплачено всё. Пока её можно приостановить.",
    "closeSchoolLessonsAhead_few": "Закрыть пока нельзя: у школы впереди {count} занятия, которые может провести только она (без назначенного инструктора или с инструкторами, добавленными без аккаунта), и сначала они должны состояться. Закройте школу, когда они пройдут и ей будет выплачено всё. Пока её можно приостановить.",
    "closeSchoolSureTitle": "Последнее подтверждение",
    "closeSchoolSureBody": "Закрытие школы нельзя отменить. Для подтверждения введите её точное название.",
    "closeSchoolNow": "Закрыть школу",
    "schoolSuspendedToast": "Школа приостановлена",
    "schoolReactivatedToast": "Работа школы возобновлена",
    "schoolClosedToast": "Школа закрыта",
    "review": {
      "title": "На проверку",
      "hint": "Денежные оповещения, которым нужно внимание человека, каждое со своим бронированием. Когда разберётесь, отметьте их проверенными: они исчезнут у всех администраторов.",
      "repeats": "Повторений: {n}",
      "settled": "Уже возвращено",
      "stripeOnly": "Этот платёж есть только в Stripe: верните деньги из панели Stripe.",
      "retryRefund": "Повторить возврат",
      "retryTitle": "Повторить возврат по бронированию {reference}?",
      "retryBody": "Stripe снова получит запрос на возврат денег клиенту. Если возврат уже прошёл, дважды ничего не вернётся.",
      "dismiss": "Отметить как проверенное",
      "dismissed": "Отмечено как проверенное"
    },
    "sweep": {
      "title": "Автоматическая обработка",
      "ok": "Последний полный запуск: {minutes} мин назад.",
      "late": "Полного запуска не было уже {hours} ч: занятия не закрываются, а возвраты не повторяются. Проверьте воркер snowmatch-tasks.",
      "unknown": "Запусков пока не зафиксировано.",
      "failing": "Неудачных запусков подряд: {count}. Ошибка: {error}",
      "failing_one": "Неудачных запусков подряд: {count}. Ошибка: {error}",
      "failing_few": "Неудачных запусков подряд: {count}. Ошибка: {error}",
      "webhooks": "Повторы вебхуков: последний запуск {minutes} мин назад.",
      "lastReport": "Результат последнего запуска:",
      "lastReportEmpty": "делать было нечего"
    },
    "backup": {
      "title": "Резервные копии",
      "ok": "Последняя копия: {date}. Копия создаётся каждую неделю и хранится 90 дней.",
      "late": "Последняя копия: {date}. Новых копий нет больше недели: проверьте воркер snowmatch-tasks.",
      "never": "Ни одной удачной копии пока нет: проверьте воркер snowmatch-tasks и его D1_EXPORT_TOKEN.",
      "unknown": "Копий пока не зафиксировано.",
      "failing": "Неудачных попыток подряд: {n}. Последняя ошибка: {error}"
    },
    "disputeRefund": "Вернуть деньги клиенту",
    "disputeDismiss": "Отклонить",
    "refundConfirmTitle": "Вернуть деньги за это бронирование?",
    "refundConfirmBody": "Клиенту будет полностью возвращена сумма {amount} за бронирование {reference}. Это действие нельзя отменить.",
    "disputeRefundNoShow": "Вернуть деньги (инструктор не пришёл)",
    "disputeRefundNoShowConfirmBody": "Клиенту вернётся вся сумма, а в бронировании будет отмечено, что инструктор не пришёл. Это окончательно закроет жалобу.",
    "disputeRefundConfirmTitle": "Вернуть деньги клиенту?",
    "disputeRefundConfirmBody": "Клиенту вернётся вся сумма, а инструктор не получит оплату. Это окончательно закроет жалобу.",
    "disputeDismissConfirmTitle": "Отклонить эту жалобу?",
    "disputeDismissConfirmBody": "Жалоба будет отклонена, а оплата инструктору разблокирована. Это окончательно закроет жалобу.",
    "disputeChargebackBadge": "Чарджбэк Stripe",
    "disputeChargebackDismissBody": "Решение по чарджбэку принимает Stripe, а не этот список: оплата инструктору удерживается до решения Stripe, после чего автоматически разблокируется или возвращается. Отклонение только уберёт жалобу отсюда, а клиенту ничего не сообщат.",
    "disputeChargebackRefundBody": "Деньги уже вернулись клиенту через его банк вместе с чарджбэком: это действие признаёт их потерянными, отменяет оплату инструктору и закрывает жалобу.",
    "rejectConfirmTitle": "Отклонить этого инструктора?",
    "rejectConfirmBody": "Инструктор: {name}. Заявка будет отклонена, а профиль не будет опубликован.",
    "deactivateConfirmTitle": "Деактивировать этого инструктора?",
    "deactivateConfirmBody": "Инструктор: {name}. Профиль исчезнет из поиска и не сможет получать новые бронирования до повторной активации.",
    "accountClosed": "Аккаунт закрыт",
    "expiredCerts": "С просроченной квалификацией: {n}",
    "stripeVerified": "Личность подтверждена Stripe",
    "stripePending": "Stripe проверяет данные",
    "stripeNone": "Аккаунта для выплат пока нет",
    "payoutViaSchool": "Выплаты через школу",
    "payoutManual": "Выплаты вручную: {provider}",
    "filterAllCountries": "Любая страна",
    "filterAllStaffing": "С инструкторами и без",
    "filterWithInstructors": "С инструкторами",
    "filterWithoutInstructors": "Без инструкторов",
    "filterAllBookingStatuses": "Любой статус бронирования",
    "filterAllPaymentStatuses": "Любой статус оплаты",
    "filterAllResorts": "Любой курорт",
    "filterDateFrom": "С даты",
    "filterDateTo": "По дату",
    "bookingFilterPlaceholder": "Поиск по номеру, инструктору или курорту…",
    "noResortMatches": "Нет курортов по этим фильтрам",
    "noBookingMatches": "Нет бронирований по этим фильтрам",
    "filterAllStatuses": "Любой статус",
    "filterPending": "На проверке",
    "filterVerified": "Проверенные",
    "filterRejected": "Отклонённые",
    "filterAllKinds": "Любой тип профиля",
    "filterAllStates": "Любое состояние",
    "filterExpiredCert": "Просроченная квалификация",
    "filterAllSchools": "Независимые и из школ",
    "filterIndependent": "Независимые",
    "filterAnySchool": "Из школы (любой)",
    "schoolOf": "Школа: {name}",
    "openInStripe": "Открыть в Stripe",
    "heardFrom": "Откуда узнали: {source}",
    "heardFromSummary": "Откуда о нас узнали: {list}",
    "heardFromUnknown": "не спрашивали",
    "joinedOn": "Дата регистрации: {date}",
    "lessonsCount": "Проведено занятий: {n}",
    "sort": {
      "label": "Сортировка",
      "name": "По алфавиту",
      "newest": "Сначала новые регистрации",
      "oldest": "Сначала старые регистрации",
      "lessons": "Больше всего проведённых занятий",
      "instructors": "Больше всего инструкторов",
      "schools": "Больше всего школ",
      "upcoming": "Больше всего предстоящих бронирований",
      "country": "По стране и названию",
      "pendingFirst": "Сначала на проверке"
    },
    "schoolState": {
      "pending": "На проверке",
      "published": "Опубликована",
      "suspended": "Приостановлена",
      "rejected": "Отклонена",
      "closed": "Закрыта"
    },
    "schoolFilterPlaceholder": "Поиск по названию, email или стране…",
    "noSchoolMatches": "Нет школ по этим фильтрам",
    "colSchools": "Школы",
    "colLessons": "Проведено занятий",
    "colUpcoming": "Предстоящие",
    "payouts": {
      "title": "Выплаты к отправке",
      "hint": "Инструкторы в странах, где Stripe не работает. Отправьте им деньги через их платформу, затем отметьте выплату здесь.",
      "requested": "Запрошено: {date}",
      "referencePlaceholder": "Номер транзакции",
      "markPaid": "Отметить как выплаченное",
      "marked": "Выплата отмечена",
      "release": "Не удалось выплатить",
      "released": "Баланс возвращён, получатель уведомлён",
      "releaseConfirmTitle": "Вернуть баланс?",
      "reasonLabel": "Причина",
      "reason": {
        "invalid_details": "Неверные платёжные данные",
        "rejected": "Счёт отклонил платёж",
        "other": "Другое (объясните в примечании)"
      },
      "noteLabel": "Примечание для получателя",
      "notePlaceholder": "Необязательно. Получатель увидит текст в том виде, как вы его напишете.",
      "notePlaceholderRequired": "Обязательно при варианте «Другое»: напишите, что случилось.",
      "releaseConfirmBody": "Сумма вернётся на доступный баланс получателя, а он получит уведомление на сайте и письмо с выбранной причиной, чтобы исправить данные и запросить выплату снова."
    },
    "schoolInstructorsButton": "Инструкторы",
    "manageSchoolButton": "Управлять",
    "manageSchoolFailed": "Не удалось открыть кабинет этой школы.",
    "readOnlyBanner": "Режим просмотра: вы видите всю панель администратора, можете открывать «Управлять» и переходить по всем ссылкам, но ничего не можете изменить.",
    "manageInstructorButton": "Управлять",
    "manageInstructorFailed": "Не удалось открыть кабинет этого инструктора.",
    "schoolInstructorsTitle": "{name}: инструкторы",
    "schoolInstructorsIntro": "Всё, что вы делаете здесь, вы делаете от имени школы, как в её кабинете: приглашаете по email или добавляете инструкторов без аккаунта по данным, которые она вам присылает.",
    "unclaimedBadge": "Без аккаунта · добавлен школой",
    "top": {
      "badge": "TOP · {percent}%",
      "since": "TOP с {date} · администратор: {by}",
      "switchOn": "Сделать TOP ({percent}%)",
      "switchOff": "Снять TOP",
      "confirmOnTitle": "{name}: сделать TOP?",
      "confirmOnBodySchool": "С новых занятий школы — всех её инструкторов и занятий без назначенного инструктора — будет взиматься комиссия {percent}% вместо {standard}%, и они поднимутся на ползвезды в порядке «Рекомендуемые». Уже проданные занятия не меняются, и в профиле ничего не отображается. Перед первым TOP: новые условия должны быть отправлены по email всем инструкторам и школам минимум за 15 дней, а школа должна письменно согласиться на комиссию.",
      "confirmOnBodyInstructor": "С новых занятий будет взиматься комиссия {percent}% вместо {standard}%, и они поднимутся на ползвезды в порядке «Рекомендуемые». Уже проданные занятия не меняются, и в профиле ничего не отображается. Перед первым TOP: новые условия должны быть отправлены по email всем инструкторам и школам минимум за 15 дней, а инструктор должен письменно согласиться на комиссию.",
      "confirmOffTitle": "{name}: снять TOP?",
      "confirmOffBody": "Новые занятия вернутся к комиссии {standard}% и обычному порядку. Занятия, проданные как TOP, сохранят свою комиссию.",
      "onToast": "TOP включён",
      "offToast": "TOP выключен",
      "bySchool": "TOP через школу",
      "filterAll": "TOP и без TOP",
      "filterOnly": "Только TOP"
    },
    "referredBy": "Код инструктора {name}",
    "salesRep": "Партнёр по продажам: {name}",
    "sales": {
      "title": "Партнёры по продажам",
      "intro": "У каждого партнёра есть ссылка с кодом. Если школа или независимый инструктор переходит по ней и регистрируется, регистрация засчитывается этому партнёру, а сам пользователь ничего не видит. Если приняты рекламные cookie, срок действия ссылки в днях: {days}; без них она засчитывается, только если регистрация прошла во время того же посещения. То, что ссылка не учла, добавляйте вручную.",
      "new": "Новый партнёр",
      "name": "Имя",
      "code": "Код",
      "codeHint": "Буквы, цифры и дефисы, без пробелов. Этот код будет в ссылке, и изменить его потом нельзя.",
      "email": "Email (необязательно)",
      "note": "Примечание (необязательно)",
      "create": "Создать партнёра",
      "created": "Партнёр создан",
      "empty": "Партнёров по продажам пока нет.",
      "inactive": "Отключён",
      "deactivate": "Отключить",
      "activate": "Включить",
      "deactivated": "Отключён: ссылка больше не засчитывается",
      "activated": "Включён: ссылка снова засчитывается",
      "copy": "Копировать",
      "copied": "Ссылка скопирована",
      "linkHint": "Работает на любой странице сайта: просто добавьте {param} в конец адреса.",
      "funnelSchools": "Школы: {total} · одобрено: {approved} · выплаты возможны: {payable} · проводят занятия: {teaching}",
      "funnelInstructors": "Инструкторы: {total} · одобрено: {approved} · выплаты возможны: {payable} · проводят занятия: {teaching}",
      "totals": "Продажи проведённых занятий: {sales} · комиссия Alpine Pal: {commission}",
      "noSales": "Продаж пока нет",
      "kind": {
        "school": "Школа",
        "instructor": "Инструктор"
      },
      "source": {
        "link": "По ссылке партнёра",
        "admin": "Добавлено вручную"
      },
      "since": "с {date}",
      "closed": "Аккаунт закрыт",
      "payable": "Выплаты возможны",
      "notPayable": "Выплаты пока невозможны",
      "lessons": "Проведено занятий: {n} (первое — {date})",
      "noLessons": "Проведённых занятий нет",
      "entrySales": "Продажи: {sales} · комиссия: {commission}",
      "remove": "Открепить",
      "removed": "Откреплено от этого партнёра",
      "assignTitle": "Добавить вручную",
      "assignPlaceholder": "Найти школу или независимого инструктора",
      "assign": "Добавить",
      "assigned": "Закреплено за этим партнёром",
      "noMatches": "Без партнёра с таким именем никого нет"
    },
    "referrals": {
      "title": "Рефералы инструкторов",
      "summary": "На проверку: {toReview} · всего: {total}",
      "pair": "{invitee} · код {code} · приглашение: {referrer}",
      "since": "с {date}",
      "firstLesson": "Первое занятие: #{ref}, {date} · {status} · оплата: {payment}",
      "disputed": "Идёт разбирательство",
      "note": "Причина: {note}",
      "grant": "{side}: {used} из {cap} по ставке {percent}% (вместо {base}%), до {date}",
      "revoked": "Отозвано",
      "revoke": "Отозвать",
      "approve": "Одобрить вознаграждение",
      "decline": "Отклонить",
      "notePlaceholder": "Причина (необязательно)",
      "approvedToast": "Вознаграждение одобрено",
      "declinedToast": "Вознаграждение отклонено",
      "revokedToast": "Скидка отозвана",
      "revokeConfirmTitle": "Отозвать остаток этой скидки?",
      "revokeConfirmBody": "Уже сделанные бронирования сохранят свою комиссию; по следующим будет действовать обычная.",
      "showAll": "Показать все ({n})",
      "side": {
        "invitee": "Скидка новичка",
        "referrer": "Скидка пригласившего"
      },
      "flag": {
        "same_payout": "Тот же IBAN или email для выплат",
        "same_bank": "Тот же банковский счёт в Stripe",
        "same_email": "Тот же адрес электронной почты",
        "duplicate_person": "Те же имя и дата рождения, что у другого инструктора",
        "cap_reached": "Достигнут годовой лимит"
      }
    }
  },
  "notif": {
    "empty": "Уведомлений пока нет.",
    "newBookingRequest": "Новый запрос на бронирование",
    "bookingAccepted": "Бронирование принято",
    "bookingConfirmed": "Бронирование подтверждено",
    "bookingRejected": "Бронирование отклонено",
    "bookingExpired": "Срок бронирования истёк",
    "timeProposed": "Предложено новое время",
    "newTimeAccepted": "Новое время принято",
    "newTimeDeclined": "Новое время отклонено",
    "meetingPointProposed": "Предложено место встречи",
    "meetingPointConfirmed": "Место встречи подтверждено",
    "customerNoShow": "Зафиксирована неявка клиента",
    "refundIssued": "Деньги возвращены",
    "newMessage": "Новое сообщение",
    "newApplication": "Новая заявка инструктора",
    "newSchoolApplication": "Новая заявка школы",
    "schoolApproved": "Ваша школа одобрена",
    "schoolRejected": "Заявка вашей школы не одобрена",
    "invitationAccepted": "Приглашение в школу принято",
    "instructorLeftSchool": "Инструктор ушёл из школы",
    "schoolOwnerDeleted": "Владелец школы удалил аккаунт",
    "schoolOwnerDeletedOwed": "Владелец школы с предстоящими занятиями или невыплаченными суммами удалил аккаунт: школа приостановлена, а не закрыта",
    "schoolAdminJoined": "В школе новый администратор",
    "schoolAdminRemoved": "Вы больше не администратор школы",
    "schoolCalendarUnlinked": "Google Calendar школы отключён: он был подключён через человека, который больше не управляет школой. Подключите его снова в разделе «Подключения».",
    "removedFromSchool": "Школа исключила вас из команды",
    "instructorNowCertified": "Инструктор заявил о наличии квалификации",
    "instructorNowCompanion": "Инструктор перешёл в компаньоны по катанию",
    "instructorCredentialsChanged": "Инструктор изменил проверенные сертификаты",
    "applicationApproved": "Ваш профиль инструктора проверен",
    "applicationRejected": "Заявка инструктора не одобрена",
    "lessonConfirmed": "Занятие подтверждено",
    "lessonAutoConfirmed": "Занятие подтверждено автоматически",
    "disputeOpened": "Открыта жалоба",
    "disputeRefunded": "Жалоба рассмотрена: деньги возвращены",
    "disputeDismissed": "Жалоба рассмотрена",
    "refundNeedsReview": "Возврат требует ручной проверки",
    "schoolSuspended": "Ваша школа временно приостановлена",
    "schoolReactivated": "Ваша школа снова опубликована",
    "schoolClosed": "Ваша школа закрыта",
    "schoolClosedForInstructor": "Ваша школа закрылась на Alpine Pal",
    "manualPayoutFailed": "Не удалось отправить вашу выплату",
    "sweepStalled": "Автоматическая обработка остановилась",
    "sweepRecovered": "Автоматическая обработка снова работает",
    "backupProblem": "Сбой резервного копирования базы данных",
    "chargebackWon": "Банк отклонил чарджбэк: оплата разблокирована",
    "chargebackSettled": "Чарджбэк рассмотрен и урегулирован",
    "reviewInvite": "Оцените занятие",
    "paymentMismatch": "Списанная сумма отличается от ожидаемой",
    "bookingCancelled": "Бронирование отменено клиентом",
    "bookingCancelledByInstructor": "Ваше занятие отменено инструктором",
    "groupClassBelowMinimum": "Групповое занятие отменено: недостаточно участников",
    "bookingAcceptedBySchool": "Школа приняла бронирование за вас",
    "bookingRejectedBySchool": "Школа отклонила запрос на бронирование",
    "bookingCancelledBySchool": "Школа отменила одно из ваших занятий",
    "bookingCancelledBySchoolCustomer": "Горнолыжная школа отменила ваше занятие",
    "bookingAutoConfirmed": "Новое занятие забронировано и подтверждено автоматически",
    "managedBySchool": "Теперь школа управляет вашим календарём и запросами",
    "managedByYourself": "Вы снова сами управляете своим календарём и запросами",
    "webhookDisabled": "Эндпоинт вебхука отключён после повторных сбоев",
    "lessonReminder": "Ваше занятие завтра",
    "meetingPointPending": "Ваше занятие завтра: согласуйте место встречи",
    "classMeetingPointPending": "Ваше групповое занятие завтра: укажите место встречи в календаре",
    "lessonReminderToday": "Ваше занятие сегодня",
    "meetingPointPendingToday": "Ваше занятие сегодня: согласуйте место встречи",
    "classMeetingPointPendingToday": "Ваше групповое занятие сегодня: укажите место встречи в календаре",
    "withdrawalPaid": "Вывод средств выполнен",
    "withdrawalFailed": "Не удалось вывести средства",
    "withdrawalAwaitingFunds": "Вывод средств ждёт пополнения в Stripe",
    "transferReversed": "Перевод отменён в Stripe",
    "instructorClosedAccount": "Инструктор закрыл аккаунт",
    "accountDeletedInClerk": "Аккаунт удалён в Clerk, нужно проверить",
    "instructorReapplied": "Инструктор запросил повторную проверку",
    "manualPayoutDue": "Нужно отправить выплату вручную",
    "payoutMethodMissing": "Укажите, куда перечислить ваш баланс",
    "payoutsReady": "Теперь вы можете вывести баланс",
    "payoutsReadyNeedsFiscal": "Вы сможете вывести баланс, как только заполните налоговые данные в разделе «Счета»",
    "payoutsBlocked": "Ваш аккаунт для выплат требует внимания",
    "connectUnfinished": "Завершите настройку выплат, чтобы выводить средства",
    "bankRejectedPayout": "Ваш банк отклонил перевод: проверьте данные",
    "joinedSchool": "Вы присоединились к школе",
    "lessonAssigned": "Школа назначила вам занятие",
    "instructorAssigned": "Вашему занятию назначен инструктор",
    "unclaimedProfileAdded": "Школа добавила инструктора без аккаунта",
    "profileClaimed": "Инструктор подтвердил права на профиль",
    "profileClaimedYours": "Теперь профиль ваш",
    "equipmentBooked": "К занятию арендовано снаряжение",
    "calendarDisconnected": "Ваш Google Calendar больше не получает занятия",
    "referralSignedUp": "Кто-то зарегистрировался по вашему коду",
    "referralApproved": "Приглашённый вами человек одобрен",
    "referralRewarded": "Вы получили сниженную комиссию",
    "referralToReview": "Реферальное вознаграждение на проверку",
    "lueiraDisconnected": "Lueira больше не принимает ключ вашей школы",
    "lueiraClash": "В Lueira продано место, которое уже продано на Alpine Pal",
    "lueiraOursCancelled": "Занятие, проданное на Alpine Pal, отменено в Lueira: отмените его и здесь, чтобы клиент получил деньги обратно",
    "lueiraOrderRefused": "Занятие, оплаченное на Alpine Pal, не удалось добавить в ваш аккаунт Lueira",
    "lueiraReview": "Школа отправила ключ Lueira: проверьте подключение",
    "lueiraApproved": "Подключение к Lueira готово",
    "lueiraMissingScope": "Вашему ключу Lueira не хватает разрешения",
    "lueiraOrderUnsure": "Неизвестно, попало ли оплаченное занятие в ваш аккаунт Lueira"
  },
  "photo": {
    "change": "Сменить фото",
    "uploading": "Загрузка…",
    "uploaded": "Фото обновлено",
    "hint": "JPG, PNG или WebP. Размер подгоним сами."
  },
  "photos": {
    "label": "Ваши фото (необязательно)",
    "hint": "До 3 фото. Лучше всего на снегу, на лыжах и с видимым лицом: профили с фото получают больше запросов.",
    "add": "Добавить",
    "addFirst": "Добавить фото",
    "remove": "Удалить фото",
    "main": "Главное",
    "moveEarlier": "Сдвинуть вперёд",
    "moveLater": "Сдвинуть назад",
    "tooLarge": "Изображение слишком большое. Максимум {mb} МБ на фото.",
    "sectionTitle": "Фото",
    "view": "Посмотреть фото {n}",
    "previous": "Предыдущее фото",
    "next": "Следующее фото",
    "close": "Закрыть",
    "counter": "{n} из {total}"
  },
  "payout": {
    "title": "Как вы получаете деньги",
    "hint": "Stripe пока не может отправлять деньги в вашу страну, поэтому мы выплачиваем средства вручную. Укажите куда.",
    "provider": "Платформа",
    "paypal": "PayPal",
    "payoneer": "Payoneer",
    "bank_transfer": "Банковский перевод",
    "email": "Email аккаунта",
    "emailPlaceholder": "you@email.com",
    "iban": "IBAN",
    "accountHolder": "Владелец счёта",
    "manualNotice": "Мы не храним банковские данные. Когда вы запрашиваете вывод средств, мы проверяем запрос и отправляем деньги; это дольше, чем автоматический перевод, и мы сообщим вам по email, как только деньги уйдут.",
    "bankNotice": "Каждый вывод средств мы отправляем вручную банковским переводом на этот IBAN. Лучше всего подходят европейские счета (SEPA); переводы в другие страны могут идти дольше или облагаться банковскими комиссиями.",
    "saved": "Способ выплаты сохранён",
    "clear": "Удалить"
  },
  "profileEdit": {
    "certName": "Сертификат",
    "certOrg": "Организация",
    "certYear": "Год",
    "addCert": "Добавить",
    "removeCertTitle": "Удалить этот сертификат?",
    "removeCertBody": "{name}: этот сертификат больше не будет показываться в профиле. Если он снова понадобится, придётся добавить его заново вместе с документом.",
    "removeCertConfirm": "Удалить",
    "certStillMissing": "Чтобы добавить его, ещё нужно указать: {fields}.",
    "removeCertLastProof": "Удалить нельзя: это единственный сертификат, подтверждающий вашу квалификацию на ваших курортах. Сначала добавьте другой.",
    "kindTitle": "В каком качестве вы работаете",
    "kindCurrent": "так сейчас указано в профиле",
    "kindUpgradeBody": "Получили квалификацию? Добавьте её здесь, и в профиле вы будете указаны как сертифицированный инструктор. Пока мы её не проверим, она будет значиться как заявленная, а бронирования вы сможете принимать и дальше.",
    "kindUpgrade": "Теперь я сертифицированный инструктор",
    "kindDowngradeBody": "Вы можете снова работать как компаньон по катанию. Квалификация останется в наших данных, но в профиле больше указываться не будет.",
    "kindDowngrade": "Перейти в компаньоны по катанию"
  },
  "auth": {
    "notConfiguredTitle": "Вход пока недоступен",
    "notConfiguredBody": "Аккаунты почти готовы. Загляните чуть позже.",
    "notInstructor": "Этот раздел для инструкторов. Подайте заявку, и он откроется после её одобрения."
  },
  "content": {
    "reviewed": "Последняя проверка: {date}",
    "onThisPage": "На этой странице",
    "eyebrowAbout": "Кто мы",
    "eyebrowSafety": "Перед бронированием",
    "eyebrowPricing": "Одна комиссия — и ничего больше",
    "eyebrowContact": "Мы читаем каждое сообщение",
    "eyebrowFaq": "Ответы, а не реклама",
    "eyebrowHowItWorks": "Три шага",
    "eyebrowBecomeInstructor": "Работайте на своих условиях"
  },
  "contact": {
    "emailLabel": "Email для связи",
    "emailHint": "Пишите на этот адрес с любой почты, которой обычно пользуетесь. Если вопрос общий, ответ, возможно, уже есть в разделе"
  },
  "apiDocs": {
    "eyebrow": "Для горнолыжных школ",
    "contents": "На этой странице",
    "copy": "Копировать",
    "copied": "Скопировано"
  },
  "footer": {
    "product": "Сервис",
    "howItWorks": "Как это работает",
    "becomeInstructor": "Стать инструктором",
    "forSchools": "Для горнолыжных школ",
    "apiForSchools": "API для горнолыжных школ",
    "safety": "Безопасность и доверие",
    "pricing": "Цены и комиссии",
    "company": "Компания",
    "about": "Об Alpine Pal",
    "contact": "Контакты",
    "faq": "Частые вопросы",
    "legal": "Правовая информация",
    "terms": "Условия использования",
    "privacy": "Политика конфиденциальности",
    "cookies": "Политика cookie",
    "instagram": "Alpine Pal в Instagram",
    "photoCredits": "Авторы фото",
    "rights": "Все права защищены."
  },
  "school": {
    "eyebrow": "Для горнолыжных школ",
    "ctaTitle": "Зарегистрируйте горнолыжную школу",
    "ctaBody": "Регистрация бесплатна, ежемесячной платы нет. Создайте аккаунт, чтобы зарегистрировать школу; мы вручную проверяем каждую школу перед публикацией.",
    "ctaButton": "Создать аккаунт",
    "instructorCannotRegister": "У этого аккаунта уже есть профиль инструктора. Школа управляется из отдельного аккаунта: чтобы зарегистрировать её, используйте другой email.",
    "ctaInstructorLink": "Вы независимый инструктор?",
    "ctaInstructorLinkCta": "Подать заявку здесь",
    "formTitle": "Зарегистрируйте школу",
    "formIntro": "Расскажите, кто вы и где преподаёте. Регистрация бесплатна и ни к чему не обязывает.",
    "nameLabel": "Название школы",
    "countryLabel": "Страна",
    "countryPlaceholder": "Выберите страну",
    "contactEmailLabel": "Email для связи",
    "phoneLabel": "Телефон (необязательно)",
    "phonePrefixLabel": "Код страны",
    "websiteLabel": "Сайт (необязательно)",
    "descriptionLabel": "О школе",
    "descriptionPlaceholder": "Чему вы учите, где и как давно. Это будет показано на вашей публичной странице.",
    "submitButton": "Отправить заявку",
    "descriptionMin": "Минимум символов: {min} ({count}/{min}).",
    "descriptionOk": "Это будет показано на вашей публичной странице.",
    "missingName": "Укажите название школы",
    "missingCountry": "Выберите страну",
    "missingEmail": "Укажите email для связи",
    "heardFromLabel": "Как вы узнали об Alpine Pal?",
    "missingHeardFrom": "Расскажите, как вы узнали об Alpine Pal",
    "missingDescription": "Напишите о школе, минимум символов: {min}",
    "reviewNote": "Обычно мы отвечаем в течение одного рабочего дня.",
    "submitted": "Заявка отправлена. Мы напишем вам, когда она будет рассмотрена.",
    "statusPending": "Ваша школа ждёт проверки. Мы напишем вам, как только она будет одобрена.",
    "statusVerified": "Ваша школа одобрена и опубликована.",
    "statusRejected": "Заявка вашей школы не одобрена. Напишите нам, если можете подтвердить документами разрешение на работу школы.",
    "goToDashboard": "Перейти в личный кабинет",
    "badgeVerified": "Проверена",
    "imagesTitle": "Изображения публичной страницы",
    "logoLabel": "Логотип школы",
    "logoHint": "Показывается рядом с названием на публичной странице. Квадратный, JPG/PNG/WebP.",
    "coverLabel": "Обложка",
    "coverHint": "Большое фото в верхней части публичной страницы.",
    "coverHintDefault": "Пока не загружена — показывается стандартное фото Alpine Pal.",
    "galleryLabel": "Фотогалерея",
    "galleryHint": "До {max} фото под описанием на вашей публичной странице: занятия, группы, инструкторы, курорт. Порядок меняется стрелками.",
    "faqTitle": "Частые вопросы",
    "pageContact": "Контакты",
    "pageInstructorsTitle": "{school}: инструкторы",
    "pageNoInstructors": "Опубликованных инструкторов пока нет.",
    "unassigned": {
      "title": "Занятия без назначенного инструктора",
      "intro": "Школа {school} продаёт эти занятия без указания конкретного инструктора: вы бронируете и оплачиваете, школа назначает инструктора из своей команды, и вы знакомитесь с ним на месте встречи. Вопросы задавайте школе в чате.",
      "places": "Школа указывает, сколько занятий может проводить одновременно: час доступен, пока остаётся свободное место.",
      "reviews": "Что клиенты говорят о школе"
    },
    "booking": {
      "title": "{school}: забронировать занятие",
      "who": "Кто проводит занятие",
      "schoolOption": "Инструктора выберет школа",
      "instructorNote": "Инструктор: {name}. Бронирование здесь или через профиль инструктора — это то же занятие по той же цене.",
      "show": "Показать доступное время",
      "hide": "Скрыть доступное время",
      "reviewsOf": "{name}: отзывы"
    },
    "groupClasses": {
      "title": "Ближайшие групповые занятия",
      "intro": "Место в группе по фиксированной цене за человека. Выберите занятие, чтобы увидеть его в календаре и забронировать место.",
      "previous": "Предыдущие занятия",
      "next": "Ещё занятия"
    },
    "instructorBadge": "Школа",
    "resortsTitle": "Курорты",
    "resortsLabel": "Курорты, где вы работаете",
    "resortsHint": "Отметьте все курорты, где работает ваша школа. Занятия без назначенного инструктора можно публиковать только там.",
    "missingResorts": "выберите хотя бы один курорт",
    "point1": "Продавайте индивидуальные занятия без указания инструктора, места на групповых занятиях и часы ваших инструкторов.",
    "point2": "Мы вручную проверяем школу до публикации.",
    "point3": "90% от каждого занятия поступает на баланс школы, на каждый вывод средств выставляется счёт."
  },
  "invitation": {
    "title": "{school} приглашает вас работать инструктором",
    "body": "Это приглашение отправлено на {email}. Создайте аккаунт с этим адресом или войдите в аккаунт, где он подтверждён, и заполните профиль инструктора.",
    "adminTitle": "{school} приглашает вас управлять аккаунтом школы",
    "adminBody": "Это приглашение отправлено на {email}. Создайте аккаунт с этим адресом или войдите в аккаунт, где он подтверждён, и примите приглашение, чтобы начать управлять школой.",
    "adminExplain": "Вы будете управлять профилем школы, её инструкторами и их ставками, а также доходом школы. Добавлять и удалять администраторов может только создатель школы.",
    "adminAccept": "Принять приглашение",
    "adminCannotAccept": "У этого аккаунта уже есть роль, поэтому он не может управлять школой. Войдите в аккаунт с адресом, на который пришло приглашение.",
    "invalid": "Ссылка на приглашение недействительна.",
    "expired": "Срок действия приглашения истёк. Попросите школу отправить его снова.",
    "revoked": "Школа отозвала это приглашение.",
    "accepted": "Это приглашение уже использовано.",
    "roleCannotAccept": "У этого аккаунта уже есть роль, поэтому он не может принять приглашение для инструктора. Войдите в аккаунт с адресом, на который пришло приглашение.",
    "join": {
      "title": "Присоединиться к команде ({school}) с вашим профилем",
      "sentTo": "Это приглашение отправлено на {email}.",
      "intro": "Ваш профиль, отзывы и фото останутся без изменений. Что изменится:",
      "rate": "Ваша почасовая ставка станет {rate}/ч",
      "extraRate": "плюс {rate} за каждого дополнительного ученика",
      "formats": "Вы будете работать по форматам, сезонам и ценам школы {school}",
      "changeRates": "Отныне ваши ставки устанавливает школа.",
      "changeCalendar": "Школа ведёт ваш календарь на основе своих открытых часов: они заменят ваши.",
      "changeEarnings": "Отныне деньги за ваши занятия получает школа.",
      "changeBadge": "Школа ручается за ваш профиль.",
      "changeLeave": "Если позже вы уйдёте из школы, профиль будет приостановлен до новой проверки.",
      "pendingBecomesVerified": "Ваш профиль ещё на проверке. Присоединение к школе его подтвердит: проверкой считается сама школа.",
      "button": "Присоединиться к команде ({school})",
      "confirmTitle": "Присоединиться к команде ({school})?",
      "confirmBody": "С этого момента школа устанавливает ваши ставки, ведёт ваш календарь и получает деньги за ваши занятия. Профиль и всё, что в нём есть, остаётся вашим.",
      "confirm": "Да, присоединиться к школе",
      "done": "Теперь вы работаете в школе {school}.",
      "blocked": {
        "closed": "Этот аккаунт закрыт.",
        "noProfile": "У этого аккаунта пока нет профиля инструктора.",
        "currencyMismatch": "Цены в вашем профиле указаны в валюте {mine}, а школа работает в валюте {theirs}. Валюту профиля изменить нельзя, поэтому с этим профилем принять приглашение не получится.",
        "alreadyInSchool": "Вы уже работаете в школе. Попросите её исключить вас из команды, прежде чем принимать другое приглашение.",
        "rejected": "Ваш профиль не одобрен. Запросите повторную проверку, прежде чем присоединяться к школе.",
        "rejectedLink": "Запросить новую проверку",
        "notCertified": "Присоединиться к школе могут только сертифицированные инструкторы. Сначала измените в профиле тип на «сертифицированный инструктор».",
        "notCertifiedLink": "Обновить профиль",
        "outstandingBalance": "На вашем собственном балансе ещё есть {amount}. Прежде чем присоединяться к школе, выведите эти средства и дождитесь расчёта по всем уже оплаченным занятиям.",
        "outstandingBalanceLink": "Перейти к доходу"
      }
    },
    "claim": {
      "title": "Школа {school} создала ваш профиль инструктора",
      "body": "Чтобы подтвердить права на него, войдите или зарегистрируйтесь с адресом, на который пришла эта ссылка ({email}).",
      "sentTo": "Ссылка отправлена на {email}.",
      "intro": "Этот профиль школа {school} опубликовала от вашего имени. Подтвердите права на него, и он станет вашим: вы сможете редактировать его и общаться с учениками.",
      "keepsRates": "Вы остаётесь в школе {school}: ставки устанавливает школа.",
      "keepsCalendar": "Школа {school} продолжит вести ваш календарь и запросы, пока не передаст их вам.",
      "keepsMoney": "Школа {school} получает деньги за ваши занятия, как и сейчас.",
      "takesAlong": "Если вы когда-нибудь уйдёте из школы, профиль уйдёт с вами вместе с отзывами.",
      "viewProfile": "Посмотреть профиль: {name}",
      "button": "Подтвердить права на профиль",
      "done": "Теперь профиль ваш",
      "blocked": {
        "hasProfile": "У этого аккаунта уже есть профиль инструктора, поэтому подтвердить права на другой нельзя. Попросите школу {school} прислать приглашение по email: вы присоединитесь со своим профилем и отзывами, а школа удалит созданный ею профиль.",
        "schoolPaused": "Школа {school} сейчас не опубликована на Alpine Pal. Подтвердить права на профиль можно будет, когда она вернётся.",
        "managesSchool": "Этот аккаунт управляет школой, а аккаунт школы не может быть инструктором. Чтобы подтвердить права на профиль, войдите в другой аккаунт."
      },
      "acceptResponsibility": "Подтверждаю, что несу ответственность за наличие действующей квалификации, лицензии и страховки для курортов из этого профиля, что сведения обо мне в профиле верны, и принимаю"
    }
  },
  "schoolDash": {
    "title": "Кабинет школы",
    "notManaging": "Вы не управляете ни одной школой.",
    "notManagingGo": "Перейти к школам",
    "verifiedNote": "Ваша школа одобрена. Приглашайте инструкторов и обновляйте страницу школы.",
    "imagesNudgeBoth": "На вашей публичной странице пока нет логотипа и обложки",
    "imagesNudgeLogo": "На вашей публичной странице пока нет логотипа",
    "imagesNudgeCover": "На вашей публичной странице пока нет обложки",
    "imagesNudgeBody": "Шапка страницы школы — первое, что видят клиенты.",
    "imagesNudgeCta": "Загрузить изображения",
    "instructorsHint": "Приглашайте инструкторов или добавляйте их без email, задавайте ставки и управляйте командой.",
    "earningsHint": "Баланс, вывод средств и то, как школа получает деньги.",
    "bookingsHint": "Запросы, ближайшие занятия и история по всем вашим инструкторам.",
    "requestsSection": "Запросы",
    "upcomingSection": "Ближайшие занятия",
    "historySection": "История",
    "noBookings": "Здесь пока пусто.",
    "instructorAnswers": "На этот запрос отвечает инструктор.",
    "openBooking": "Открыть",
    "unassignedRow": "Занятие без назначенного инструктора",
    "messagesHint": "Чаты с клиентами, которые забронировали занятия без назначенного инструктора или занятия ваших инструкторов без аккаунта.",
    "messagesNote": "Чаты, в которых пишет ваша школа: занятия без назначенного инструктора и инструкторы, добавленные вами без аккаунта. Инструкторы с аккаунтом общаются в чате сами.",
    "acting": {
      "banner": "Вы управляете школой {name} от имени Alpine Pal.",
      "exit": "Выйти",
      "moneyReadOnly": "Выплатами и выводом средств распоряжается школа: здесь их можно посмотреть, но не изменить.",
      "apiReadOnly": "API-ключами, вебхуками и их секретами распоряжается школа: здесь настройки можно посмотреть, но не изменить.",
      "calendarNotice": "Google Calendar принадлежит школе: отсюда он не настраивается.",
      "messagesNotice": "Вы видите эти переписки как Alpine Pal, а не как школа."
    },
    "cancelLesson": "Отменить занятие",
    "cancelLessonTitle": "Отменить это занятие?",
    "cancelLessonBody": "Клиенту вернут всю сумму и сообщат, что занятие отменила школа. Это действие необратимо.",
    "managementLabel": "Кто управляет",
    "managedByInstructor": "Инструктор",
    "managedBySchool": "Школа",
    "calendarLink": "Календарь",
    "calendarManagedByInstructor": "Этот инструктор сам ведёт свой календарь. Чтобы редактировать его здесь, укажите в разделе «Инструкторы», что календарём управляет школа.",
    "calendarPickPlaceholder": "Выберите инструктора",
    "assignInstructor": "Назначить",
    "assignedToast": "Занятие назначено. Мы сообщили об этом инструктору и клиенту.",
    "assignNobody": "В вашей команде нет активных инструкторов, которые преподают на этом курорте.",
    "assignGroupFromCalendar": "Групповое занятие: назначьте инструктора сразу на всю группу из календаря.",
    "calendarUnassignedOption": "Занятия без назначенного инструктора",
    "calendarUnavailable": "Этот календарь недоступен: инструктора больше нет в вашей команде.",
    "api": {
      "title": "Подключите свою систему бронирования",
      "intro": "Ваш менеджер каналов или собственная программа могут читать и изменять календари ваших инструкторов, получать бронирования сразу после оплаты и отвечать на запросы. Всё это работает через API ниже с одним из ваших ключей.",
      "baseUrl": "Базовый URL",
      "keysTitle": "API-ключи",
      "keysIntroOwner": "Ключ даёт полный доступ к календарям и бронированиям вашей команды. Создавайте отдельный ключ для каждой подключаемой системы и отзывайте его, как только перестанете ею пользоваться.",
      "keysIntro": "Создавать и отзывать ключи может только создатель школы. Если вам нужен ключ, обратитесь к нему.",
      "keyName": "Для чего этот ключ?",
      "keyNamePlaceholder": "Например, моя система бронирования",
      "createKey": "Создать ключ",
      "keyCreatedTitle": "Ваш новый API-ключ",
      "keyCreatedBody": "Скопируйте его сейчас и сохраните в надёжном месте. Для вашей безопасности мы храним только его отпечаток, поэтому показать ключ ещё раз не сможем.",
      "copy": "Копировать",
      "copied": "Скопировано",
      "keyCreated": "Создан: {date}",
      "keyLastUsed": "последнее использование: {date}",
      "keyNeverUsed": "не использовался",
      "keyRevoked": "Отозван",
      "revokeKey": "Отозвать",
      "revokeKeyTitle": "Отозвать этот ключ?",
      "revokeKeyBody": "Всё, что ещё использует ключ «{name}», сразу перестанет работать. Это действие необратимо.",
      "keyRevokedToast": "Ключ отозван",
      "noKeys": "Ключей пока нет.",
      "docsLink": "Открыть документацию по API",
      "webhooksTitle": "Вебхуки",
      "webhooksIntro": "Мы отправляем каждое событие бронирования POST-запросом на указанные вами URL, с подписью секретом эндпоинта. Если эндпоинт постоянно не отвечает, мы повторяем попытки около трёх дней, а затем отключаем его.",
      "webhookUrl": "URL (https)",
      "webhookDescription": "Описание",
      "webhookEvents": "События",
      "allEvents": "Все события",
      "addWebhook": "Добавить эндпоинт",
      "noWebhooks": "Эндпоинтов пока нет.",
      "webhookSaved": "Сохранено",
      "webhookActive": "Активен",
      "webhookDisabled": "Выключен",
      "webhookFailing": "{count} сбоев подряд",
      "webhookFailing_one": "{count} сбой подряд",
      "webhookFailing_few": "{count} сбоя подряд",
      "lastDelivery": "последняя доставка: {date}",
      "sendTest": "Отправить тест",
      "testSent": "Тест доставлен: эндпоинт ответил кодом успеха.",
      "testFailed": "Тест не прошёл ({error}).",
      "revealSecret": "Показать секрет",
      "hideSecret": "Скрыть секрет",
      "rotateSecret": "Заменить секрет",
      "rotateSecretTitle": "Выпустить новый секрет?",
      "rotateSecretBody": "Текущий секрет сразу перестанет работать. Обновите его в своей системе до следующего события.",
      "deleteWebhook": "Удалить",
      "deleteWebhookTitle": "Удалить этот эндпоинт?",
      "deleteWebhookBody": "Он перестанет получать события, а журнал его доставок будет удалён. Это действие необратимо.",
      "deliveries": "Доставки",
      "noDeliveries": "Пока ничего не доставлено.",
      "sandbox": {
        "title": "Песочница",
        "intro": "Тестовая копия вашей школы с вымышленными инструкторами: здесь ваша система может публиковать календари, получать бронирования через вебхук и отвечать на них без денег и писем. Тестовые ключи начинаются с ap_test_ и работают только с копией; первый такой ключ её создаёт.",
        "createKey": "Создать тестовый ключ",
        "keyNamePlaceholder": "Например, моя система бронирования (тесты)",
        "empty": "Песочницы пока нет: создайте тестовый ключ, чтобы её настроить.",
        "instructorsTitle": "Что внутри",
        "instantOn": "подтверждает мгновенно",
        "instantOff": "отвечает на запросы вручную",
        "seatLabel": "Занятия без назначенного инструктора",
        "customerNote": "POST /sandbox/bookings заменяет клиента: создаёт оплаченное бронирование для любого из этих id. Ничего из песочницы никогда не попадает на сайт.",
        "reset": "Очистить песочницу",
        "resetTitle": "Очистить песочницу?",
        "resetBody": "Все бронирования и чаты в тестовой копии будут удалены. Ключи, вебхуки и календари останутся.",
        "resetToast": "Песочница очищена: удалено {count} бронирований",
        "resetToast_one": "Песочница очищена: удалено {count} бронирование",
        "resetToast_few": "Песочница очищена: удалено {count} бронирования"
      },
      "deliveryStatus": {
        "pending": "В ожидании",
        "delivered": "Доставлено",
        "failed": "Ошибка"
      }
    },
    "savedToast": "Сохранено",
    "inviteTitle": "Пригласить инструктора",
    "inviteIntro": "Инструктор получит письмо, сам заполнит профиль и появится на сайте как инструктор вашей школы. Цены задаёте вы: по форматам или почасово. Календарём тоже управляете вы, по часам работы школы.",
    "inviteVouches": "Квалификация не запрашивается: приглашая этого человека, вы ручаетесь, что он соответствует требованиям вашего кантона к преподаванию на трассах. Без собственной квалификации он не сможет проводить занятия вне трасс.",
    "inviteEmailLabel": "Email",
    "inviteRateLabel": "Ставка/ч",
    "inviteExtraLabel": "Доплата за ученика",
    "inviteModeLabel": "Способ продажи",
    "inviteModeFormats": "По форматам школы",
    "inviteModeHours": "Почасово",
    "inviteModeFormatsHint": "Инструктор будет продавать занятия по форматам, сезонам и ценам ваших занятий без назначенного инструктора, без почасовой ставки. Когда вы меняете свои условия, меняются и его.",
    "inviteModeFormatsNone": "У вас пока нет форматов: задайте их в разделе «Индивидуальные занятия», в занятиях без назначенного инструктора. Пока их нет, занятия инструктора нельзя забронировать; как только вы сохраните форматы, они появятся сами.",
    "schoolFormatsShort": "Форматы школы",
    "ownFormatsShort": "Свои форматы",
    "schoolHoursShort": "по часам школы",
    "inviteButton": "Пригласить",
    "inviteSent": "Приглашение отправлено.",
    "invitationsTitle": "Приглашения",
    "invitationStatus": {
      "pending": "Ожидает ответа",
      "accepted": "Принято",
      "revoked": "Отозвано",
      "expired": "Истекло"
    },
    "expiresOn": "истекает: {date}",
    "resend": "Отправить ещё раз",
    "revoke": "Отозвать",
    "rosterTitle": "Ваши инструкторы",
    "noInstructors": "Пока никого нет — пригласите первого инструктора выше.",
    "instructorClosed": "Аккаунт закрыт",
    "instructorActive": "Проведено {count} занятий",
    "instructorActive_one": "Проведено {count} занятие",
    "instructorActive_few": "Проведено {count} занятия",
    "instructorInactive": "Не опубликован",
    "remove": "Убрать",
    "removeTitle": "Убрать из школы?",
    "removeBody": "Профиль инструктора {name} будет снят с публикации, пока мы его не проверим. Уже заработанные деньги останутся у школы.",
    "removedToast": "Инструктор убран из команды.",
    "adminsTitle": "Администраторы",
    "adminsIntro": "Все, кто может управлять этой школой.",
    "adminsIntroOwner": "Все, кто может управлять этой школой. Администраторам доступно всё, кроме добавления и удаления администраторов.",
    "adminInviteLabel": "Пригласить администратора по email",
    "adminInviteButton": "Пригласить",
    "adminInviteSent": "Приглашение отправлено.",
    "adminCreatorBadge": "Создатель",
    "adminPendingTitle": "Приглашения без ответа",
    "adminRemove": "Убрать",
    "adminRemoveTitle": "Убрать этого администратора?",
    "adminRemoveBody": "Администратор {name} сразу потеряет доступ к школе. Аккаунт сохранится, исчезнет только доступ.",
    "adminRemovedToast": "Администратор убран.",
    "unassigned": {
      "title": "Занятия без назначенного инструктора",
      "notOnSale": "Пока не в продаже.",
      "rateLabel": "Цена за час ({currency})",
      "rateHint": "Минимум {min} {currency}.",
      "rateOptional": "Не требуется: ваши занятия начинаются от {hours} ч, а у этой длительности уже есть своя цена.",
      "lengthLabel": "Длительность занятия",
      "lengthFrom": "От",
      "lengthTo": "до",
      "extraLabel": "Доплата за каждого дополнительного ученика ({currency})",
      "maxStudentsLabel": "Максимум учеников на занятии",
      "autoAcceptLabel": "Подтверждать сразу после оплаты",
      "autoAcceptHint": "Если выключено, вы принимаете или отклоняете каждый запрос в бронированиях. На ответ у вас {hours} ч с момента оплаты (или время до начала занятия, если оно наступит раньше); без ответа запрос истекает, и клиенту возвращается вся сумма.",
      "singleLevelLabel": "Один уровень и один возраст в бронировании",
      "singleLevelHint": "Если включено, в одном бронировании нельзя совмещать уровни (начинающий, средний, продвинутый) или взрослых с детьми: клиент делает отдельное бронирование на каждую группу, и каждое занимает своё место.",
      "rulesTitle": "Ученики и бронирования",
      "rulesHint": "Сколько учеников может быть на занятии, чему вы учите, за какой срок бронируют и как подтверждаются бронирования.",
      "rulesStudents": "До {count} учеников",
      "rulesStudents_one": "До {count} ученика",
      "rulesStudents_few": "До {count} учеников",
      "rulesAuto": "Подтверждение при оплате",
      "rulesManual": "Вы подтверждаете каждое бронирование",
      "rulesOneLevel": "Один уровень и возраст в бронировании",
      "places": "У каждого часа, опубликованного в календаре, есть свои места: сколько занятий вы можете продать одновременно на этом курорте. Пока осталось хотя бы одно место, час остаётся в продаже.",
      "blocked": {
        "school_not_approved": "Сначала школа должна быть одобрена и опубликована.",
        "no_resorts": "Сначала выберите курорты, на которых работает школа.",
        "noResortsLink": "Курорты",
        "price_below_minimum": "Цена за час должна быть не меньше {min} {currency}.",
        "no_hourly_price": "Занятия на {from} ч продаются почасово: укажите цену за час (не меньше {min} {currency}) или начинайте занятия с {hours} ч, у них цена уже есть.",
        "bad_extra_price": "Доплата за ученика не может быть отрицательной.",
        "bad_max_students": "Число учеников на занятии должно быть от 1 до 20.",
        "bad_formats": "Проверьте форматы и сезоны выше: всё, чего не хватает или что указано неверно, выделено красным.",
        "bad_duration_prices": "Проверьте цены за несколько часов подряд.",
        "bad_notice": "Выберите один из предложенных вариантов минимального времени до занятия.",
        "bad_disciplines": "Выберите дисциплину этих занятий: лыжи, сноуборд или и то и другое.",
        "bad_lesson_length": "Самое короткое занятие не может быть длиннее самого длинного.",
        "bad_season_prices": "Проверьте сезонные цены.",
        "bad_included_students": "Число учеников, включённых в цену, должно быть от 1 до 20."
      }
    },
    "formats": {
      "formatsTitle": "Форматы",
      "formatsHint": "Не больше {max}, начало и конец кратны 15 минутам, с {start} до {end}.",
      "copyFromSchoolNone": "У школы пока нет форматов для занятий без назначенного инструктора: здесь их можно задать напрямую.",
      "followSchool": "Использовать форматы школы",
      "followSchoolHint": "Форматы, сезоны и цены ваших занятий без назначенного инструктора: когда вы меняете свои, меняются и у этого инструктора. Выключите, чтобы задать ему собственные.",
      "followersNote": "Инструкторы, которые продают занятия по этим форматам: {n}. При сохранении изменятся и их форматы.",
      "kindLabel": "Тип",
      "kind": {
        "morning": "Утро",
        "afternoon": "После обеда",
        "full_day": "Весь день",
        "other": "Другое"
      },
      "startLabel": "Начало",
      "endLabel": "Конец",
      "addFormat": "Добавить формат",
      "removeFormat": "Удалить формат",
      "seasonsTitle": "Сезоны и цены",
      "seasonsHint": "У каждого сезона свои даты и своя цена на каждый формат — за занятие для всей группы. Если оставить цену пустой, формат в этом сезоне не продаётся; вне сезонов не продаётся ничего.",
      "extraLabel": "Доплата за каждого дополнительного ученика, за занятие ({currency})",
      "extraHint": "Сколько добавляет каждый ученик сверх первого, во всех сезонах. Пусто или 0: цена указана за всю группу.",
      "seasonName": "Название (видите только вы)",
      "seasonNamePlaceholder": "Низкий сезон",
      "rangeFrom": "С",
      "rangeTo": "По (включительно)",
      "addRange": "Добавить даты",
      "removeRange": "Удалить эти даты",
      "addSeason": "Добавить сезон",
      "removeSeason": "Удалить сезон",
      "placesNote": "У каждого открытого формата свои места: сколько таких занятий вы можете продать одновременно. Формат продаётся в те дни, когда у него есть цена в текущем сезоне и ещё осталось свободное место.",
      "blocked": {
        "no_formats": "Добавьте хотя бы один формат.",
        "too_many_formats": "Максимум форматов: {max}.",
        "bad_format_times": "У каждого формата начало должно быть раньше конца, кратно 15 минутам, с {start} до {end}.",
        "duplicate_format": "У двух форматов одинаковые часы.",
        "no_seasons": "Добавьте хотя бы один сезон с датами и ценами.",
        "too_many_seasons": "Максимум сезонов: {max}.",
        "bad_season_dates": "Для каждого сезона нужен хотя бы один диапазон дат, и начало не может быть позже конца.",
        "bad_season_name": "Символов в названии сезона: не больше {max}.",
        "seasons_overlap": "Два диапазона дат пересекаются: день может относиться только к одному сезону.",
        "season_without_prices": "Для каждого сезона нужна цена хотя бы на один формат.",
        "price_below_minimum": "Каждая цена должна быть не меньше {min} {currency} за час формата.",
        "bad_pack_days": "Каждая длительность — от {days} до {max} дн., без повторов; вариантов не больше {count}.",
        "bad_min_days": "Минимум для сезона — от 1 до {max} дн.",
        "pack_price_below_minimum": "Каждая цена пакета должна быть не меньше {min} {currency} за час формата и за день."
      },
      "packsTitle": "Несколько дней подряд",
      "packsHint": "На сколько дней подряд вы также продаёте формат. Для каждого сезона можно задать цену за всю группу (пусто = каждый день по своей цене) и минимум дней.",
      "noPacks": "Нет: каждый день продаётся отдельно",
      "packDaysLabel": "Дней подряд",
      "addPackDays": "Добавить",
      "addPackDaysN": "Добавить: {days} дн.",
      "removePackDays": "Удалить: {days} дн.",
      "packDaysTaken": "У вас уже есть вариант на {days} дн. подряд. Выберите другое число.",
      "packDaysRange": "От {min} до {max} дн.",
      "packDaysFull": "Максимум вариантов: {max}. Удалите один, чтобы добавить другой.",
      "minDays": "Минимум дней подряд в этом сезоне",
      "packPriceLabel": "{format} · {days} дн.",
      "minDaysFormat": "{format}: минимум дней подряд"
    },
    "unclaimed": {
      "cardTitle": "Добавить инструктора без email",
      "cardIntro": "Для тех, у кого ещё нет аккаунта: вы заполняете профиль, и он сразу публикуется. Вы отвечаете за него — запросы, календарь и чат, — пока инструктор не подтвердит права на профиль своим email.",
      "addTitle": "Добавить инструктора без email",
      "addIntro": "Профиль публикуется от имени вашей школы, и вы отвечаете за него, пока инструктор не подтвердит права на него своим email. Тогда мы попросим у него дату рождения и согласие с условиями.",
      "addButton": "Добавить инструктора",
      "editTitle": "{name}: профиль",
      "editProfile": "Редактировать профиль",
      "createdToast": "Инструктор добавлен. Теперь загрузите его фото.",
      "nowAddPhoto": "Профиль создан. Загрузите фото, чтобы клиенты видели, с кем будут заниматься: именно оно приносит больше всего бронирований.",
      "photoTitle": "Фото",
      "photoAfterSave": "Фото можно будет загрузить сразу после сохранения профиля.",
      "photosHint": "До трёх фото с занятий. Необязательно.",
      "bioLabel": "Об инструкторе",
      "bioPlaceholder": "Кто это, как преподаёт, с кем лучше всего работает…",
      "bioHint": "Пишите на любом языке: мы автоматически переведём текст на остальные.",
      "resortsLabel": "Курорты, где преподаёт инструктор",
      "resortsHint": "Из вашей страны. Изменить их можно в любой момент.",
      "languagesLabel": "Языки преподавания",
      "yearsLabel": "Лет опыта",
      "licenceRequired": "Здесь для публикации профиля нужен номер лицензии ({credential}).",
      "licenceOptional": "Необязательно, но это вызывает доверие клиентов.",
      "offPisteNeedsTitle": "{countries}: для специализаций «Вне трасс», «Фрирайд» и «Биг-маунтин» нужна собственная квалификация инструктора. Укажите её в разделе «Квалификация», чтобы отметить их.",
      "activeLabel": "Опубликован",
      "activeHint": "Выключите, чтобы приостановить профиль, не удаляя его.",
      "consent": "Подтверждаю, что этот человек согласился на публикацию своего профиля моей школой на Alpine Pal и имеет квалификацию, необходимую для преподавания на этих курортах.",
      "consentAdmin": "Подтверждаю, что школа заверила меня: этот человек согласился на публикацию своего профиля школой на Alpine Pal и имеет квалификацию, необходимую для преподавания на этих курортах.",
      "missingConsent": "Подтвердите согласие инструктора",
      "badge": "Без аккаунта",
      "badgeHint": "Добавлен вашей школой. Вы отвечаете за этот профиль, пока инструктор не подтвердит права на него.",
      "managedLocked": "Управляет ваша школа, пока инструктор не подтвердит права на профиль.",
      "linkButton": "Отправить ссылку для подтверждения",
      "linkTitle": "{name}: подтверждение прав на профиль",
      "linkIntro": "Мы отправим инструктору ссылку на email. Он откроет её, войдёт или создаст аккаунт с этим же адресом, и профиль вместе с отзывами станет его. Инструктор останется в вашей школе на ваших ставках, а календарём вы будете управлять, пока не передадите его.",
      "linkSend": "Отправить ссылку",
      "linkSentToast": "Ссылка отправлена",
      "linkPending": "Ссылка отправлена на {email} · действует до {date}",
      "linkExpired": "Срок действия ссылки, отправленной на {email}, истёк: {date}",
      "removeBody": "Профиль инструктора {name} будет закрыт: он исчезнет с сайта, а его ссылка перестанет работать. Прошедшие занятия останутся в ваших списках. Это невозможно, пока впереди есть занятия.",
      "credentialTitle": "Квалификация",
      "missingName": "Не указаны имя и фамилия",
      "missingLicence": "Не указан номер лицензии",
      "missingOffPisteTitle": "Для занятий вне трасс нужна квалификация инструктора",
      "missingPrice": "Укажите ставку выше минимальной"
    },
    "lessonsHint": "Индивидуальные и групповые занятия: как, по какой цене и когда они продаются — и школьные, и занятия вашей команды.",
    "cancellationHelp": "Правило действует для всех занятий, которые продаёт ваша школа: индивидуальных и групповых занятий ваших инструкторов и занятий без назначенного инструктора. После подтверждения клиент может отменить занятие с полным возвратом средств не позже чем за этот срок до начала; позже деньги не возвращаются. Клиенты видят правило в профилях и перед оплатой. Для уже сделанных бронирований действуют условия на момент бронирования.",
    "lueira": {
      "statusActive": "Подключено",
      "statusBroken": "Отключено",
      "statusReview": "На проверке",
      "reviewBody": "Ваш ключ получен. Мы проверяем подключение и сообщим, как только всё будет готово. До этого в вашу систему Lueira ничего не отправляется и ничего в ней не меняется.",
      "reviewAdminBody": "Школа видит только, что подключение на проверке. До одобрения в её систему Lueira ничего не отправляется, а проданное там не занимает мест здесь. Одобрение запускает синхронизацию и уведомляет школу.",
      "approve": "Одобрить подключение",
      "approveTitle": "Одобрить это подключение к Lueira?",
      "approveBody": "Продажи в системе Lueira этой школы начнут занимать места здесь, а оплаченные здесь занятия будут попадать в её Lueira. Школа получит письмо.",
      "approvedToast": "Подключение одобрено",
      "intro": "Если ваша школа работает в Lueira, подключите её: индивидуальные занятия, проданные в Lueira, займут своё место среди ваших занятий без назначенного инструктора, подключённые групповые занятия займут свои места, а каждое занятие, оплаченное на Alpine Pal, попадёт в вашу Lueira уже оплаченным.",
      "ownerOnly": "Подключать Lueira и менять настройки может только владелец школы.",
      "keyLabel": "API-ключ Lueira",
      "keyHint": "Создайте его в Lueira: Settings > Developers > API Keys, с правами на чтение и запись заказов и на чтение продуктов, инструкторов и инвентаря.",
      "keyReviewHint": "После отправки мы проверим подключение и сообщим вам.",
      "connect": "Отправить ключ",
      "connectedToast": "Ключ получен",
      "brokenBody": "Lueira больше не принимает сохранённый ключ, поэтому ничего не отправляется и не поступает. Вставьте новый ключ, чтобы подключиться снова.",
      "failure": {
        "invalid": "Lueira не распознаёт этот ключ. Проверьте, что скопировали его полностью и что он не отозван.",
        "scope": "У ключа не хватает прав. Дайте ему доступ на чтение и запись заказов и на чтение продуктов.",
        "unreachable": "Не удалось связаться с Lueira. Попробуйте ещё раз чуть позже.",
        "broken": "Lueira больше не принимает ключ. Вставьте новый.",
        "quota": "Запросы по вашему тарифу Lueira на этот месяц закончились.",
        "unavailable": "Подключение к Lueira сейчас недоступно."
      },
      "mappingTitle": "Чему соответствуют ваши занятия в Lueira",
      "mappingDone": "Настроено: занятия, оплаченные здесь, создаются в вашей Lueira именно так.",
      "mappingMissing": "Выберите как минимум курорт, один продукт, три уровня и место встречи. До этого в Lueira ничего не создаётся.",
      "readCatalog": "Загрузить из Lueira",
      "readCatalogHint": "Загружает ваши центры, продукты, уровни, места встречи и партнёров. Расходует около пяти запросов вашего тарифа.",
      "choose": "Выберите…",
      "none": "Нет",
      "chosen": "Выбрано ранее",
      "resort": "Курорт",
      "location": "Центр",
      "productSki": "Продукт для индивидуальных занятий на лыжах",
      "productSnowboard": "Продукт для индивидуальных занятий на сноуборде",
      "level": {
        "beginner": "Уровень «начинающий»",
        "intermediate": "Уровень «средний»",
        "advanced": "Уровень «продвинутый»"
      },
      "meetingPoint": "Место встречи",
      "partner": "Alpine Pal как партнёр (необязательно)",
      "groupsTitle": "Групповые занятия",
      "groupsHint": "Выберите, каким продуктам Lueira соответствует каждое групповое занятие: места, проданные в Lueira, списываются здесь, а проданные здесь попадают в вашу Lueira. Если у вас по одному продукту на уровень, выберите их все. Групповое занятие без продукта остаётся неподключённым.",
      "groupsPick": "Выбрать продукты Lueira",
      "groupsSearch": "Поиск продуктов",
      "groupsEmpty": "Нажмите «{button}», чтобы увидеть свои продукты.",
      "plan": "Ваш тариф Lueira",
      "planUnknown": "Не знаю",
      "planQuota": "Запросов в месяц: {n}",
      "savedToast": "Сохранено",
      "webhookTitle": "Уведомления от Lueira",
      "webhookReady": "Работает",
      "webhookIntro": "Чтобы проданное в Lueira занимало место здесь, создайте вебхук в Lueira: Settings > Developers > Webhooks, с этим адресом и событиями заказов (order.created, order.updated и order.cancelled). Затем вставьте сюда секрет подписи, который покажет Lueira.",
      "webhookSecret": "Секрет подписи вебхука",
      "statsPrivate": "Индивидуальные занятия",
      "statsGroup": "Групповые занятия",
      "statsSent": "Отправлено в Lueira",
      "statsReceived": "Получено из Lueira",
      "statsReceivedSeats": "Места, полученные из Lueira",
      "statsRefused": "С ошибкой",
      "reconciledAt": "Последняя сверка продаж",
      "mappingGroupsOnly": "Настроено для групповых занятий. Чтобы отправлять и индивидуальные, выберите продукт, три уровня и место встречи.",
      "bookingSent": "В Lueira",
      "bookingPending": "Ожидает отправки в Lueira",
      "bookingRefused": "Не добавлено в Lueira",
      "requests": "Запросы за этот месяц",
      "requestsOf": "{used} из {quota}",
      "syncedAt": "Последняя синхронизация",
      "never": "Ещё нет",
      "lastError": "Последняя проблема ({date}):",
      "syncNow": "Синхронизировать",
      "syncToast": "Идёт синхронизация с Lueira",
      "disconnect": "Отключить",
      "disconnectTitle": "Отключить Lueira?",
      "disconnectBody": "Занятия, оплаченные здесь, перестанут попадать в вашу систему Lueira, а проданное там перестанет занимать места здесь. То, что уже есть в Lueira, останется как есть.",
      "disconnectedToast": "Соединение с Lueira отключено",
      "clash": "В Lueira продано место ({when}), которое уже продано на Alpine Pal: на одно место у вас два занятия.",
      "noSeat": "У вас пока нет занятий без назначенного инструктора: задайте им цену и часы в разделе «Индивидуальные занятия», чтобы проданное в Lueira занимало место здесь.",
      "webhookLast": "Последнее уведомление от Lueira получено: {date}.",
      "webhookWaiting": "Уведомлений от Lueira пока не было. Чтобы проверить, отправьте тестовое событие из этого вебхука в Lueira и вернитесь на эту страницу.",
      "webhookBadSignature": "Уведомления от Lueira приходят, но их подпись не совпадает с сохранённым секретом. Скопируйте секрет этого вебхука из Lueira ещё раз и вставьте его сюда.",
      "exportButton": "Скачать данные Lueira",
      "exportHint": "Только для администраторов Alpine Pal. Читает календари, цены, курсы и прокат, ничего не записывая, и расходует несколько десятков запросов из тарифа школы.",
      "exportDone": "Данные скачаны (запросов: {calls}).",
      "unsure": "Неизвестно, попало ли бронирование {reference} в Lueira. Поищите его там: если его нет, нажмите «Синхронизировать»."
    },
    "connections": {
      "intro": "Подключите Alpine Pal к тому, чем уже пользуется ваша школа: занятия появятся в вашем Google Calendar, а если вы работаете в Lueira, всё будет в одном месте.",
      "developersTitle": "Другая система бронирования",
      "developersIntro": "Если ваша школа работает в другой или в собственной системе, она подключается через API Alpine Pal. Этот раздел — для того, кто её программирует."
    }
  },
  "credits": {
    "title": "Авторы фотографий",
    "intro": "Фотографии на Alpine Pal взяты с сайта Wikimedia Commons по лицензиям, которые разрешают коммерческое использование при указании автора и лицензии. На этой странице они указаны.",
    "resorts": "Фотографии курортов",
    "photoBy": "Фото:"
  },
  "empty": {
    "noPending": "Нет бронирований в ожидании.",
    "noReviews": "Отзывов пока нет."
  },
  "error": {
    "generic": "Что-то пошло не так.",
    "paymentsMisconfigured": "Платежи настроены не полностью. Напишите нам: info@alpinepal.com.",
    "paymentFailed": "Не удалось завершить оплату. Попробуйте ещё раз.",
    "bookingLoadFailed": "Не удалось загрузить бронирование."
  },
  "specialty": {
    "beginners": "Начинающие",
    "intermediate_technique": "Техника: средний уровень",
    "advanced_technique": "Техника: продвинутый уровень",
    "children": "Дети",
    "families": "Семьи",
    "freeride": "Фрирайд",
    "snowpark": "Сноупарк",
    "racing_preparation": "Подготовка к соревнованиям",
    "adaptive_skiing": "Адаптивное катание",
    "group_lessons": "Групповые занятия",
    "adults": "Взрослые",
    "carving": "Карвинг",
    "off_piste": "Вне трасс",
    "moguls": "Бугры",
    "big_mountain": "Биг-маунтин",
    "nervous_skiers": "Неуверенные лыжники",
    "powder": "Целина",
    "freestyle": "Фристайл"
  },
  "level": {
    "beginner": "Начинающий",
    "intermediate": "Средний уровень",
    "advanced": "Продвинутый",
    "beginnerPiste": "Начинающий · зелёные и синие трассы",
    "intermediatePiste": "Средний уровень · синие и красные трассы",
    "advancedPiste": "Продвинутый · красные и чёрные трассы",
    "all": "Все уровни"
  },
  "audience": {
    "all": "Все",
    "children": "Дети",
    "adults": "Взрослые",
    "agesRange": "возраст: {min}–{max}",
    "agesFrom": "возраст: от {min}",
    "agesUpTo": "возраст: до {max}"
  },
  "age": {
    "adult": "Взрослый",
    "child": "Ребёнок"
  },
  "cookies": {
    "title": "Политика использования файлов cookie",
    "intro": "Alpine Pal использует файлы cookie для двух целей: чтобы сайт работал — вы оставались в аккаунте, проходили платежи, запоминался ваш выбор здесь — и, если вы разрешите, чтобы измерять, как используется сайт и насколько хорошо работает наша реклама, и улучшать и то и другое. Мы никогда не продаём ваши данные.",
    "necessaryTitle": "Строго необходимые",
    "necessaryBody": "Устанавливаются независимо от вашего выбора: без них нельзя войти в аккаунт и оплатить занятие. Для отслеживания не используются.",
    "analyticsTitle": "Аналитика",
    "analyticsBody": "Google Analytics считает посещения и страницы; Microsoft Clarity записывает обезличенные сеансы и тепловые карты, чтобы мы видели, где у людей возникают трудности. Измерения ведутся только с вашего согласия.",
    "advertisingTitle": "Реклама",
    "advertisingBody": "Google Ads сообщает нам, какое объявление привело вас сюда и было ли после этого бронирование, и может снова показывать вам нашу рекламу на других сайтах. Тег загружается у всех, но ничего не сохраняет на вашем устройстве и ничего не персонализирует, пока вы не согласитесь.",
    "colName": "Cookie",
    "colProvider": "Кто устанавливает",
    "colPurpose": "Для чего нужен",
    "colDuration": "Срок",
    "purpose": {
      "consent": "Запоминает ваш выбор в этом баннере, чтобы не спрашивать снова.",
      "session": "Сохраняет вход в аккаунт и связывает браузер с вашим аккаунтом.",
      "payments": "Stripe использует его для обработки платежа и выявления мошенничества. Устанавливается только на этапе оплаты.",
      "clarity": "Определяет сеанс просмотра, чтобы запись была цельной при переходе между страницами.",
      "clarityId": "Анонимный идентификатор, по которому Microsoft различает повторные посещения.",
      "ga": "Различает посещения и сеансы, чтобы отчёты о трафике сходились.",
      "gclAu": "Связывает ваше бронирование с объявлением, на которое вы нажали, чтобы мы знали, за какие стоит платить.",
      "googleAds": "Устанавливается компанией Google на её собственных доменах, чтобы измерять рекламу и, если вы разрешите, персонализировать её.",
      "salesLink": "Если вы пришли по ссылке одного из наших партнёров по продажам, запоминает, по какой именно, чтобы мы знали, кому засчитать вашу регистрацию, если вы зарегистрируетесь как школа или инструктор. Сохраняется, только если вы принимаете рекламные cookie; иначе ничего не сохраняется, и регистрация засчитывается, только если вы зарегистрируетесь в это же посещение."
    },
    "yourChoiceTitle": "Ваш выбор",
    "currentChoice": "Сейчас",
    "stateUndecided": "ещё не выбрано",
    "stateAccepted": "аналитика и реклама разрешены",
    "stateRejected": "аналитика и реклама отклонены",
    "askAgain": "Спросить ещё раз",
    "withdrawNote": "Вы можете изменить выбор в любой момент. Отзыв согласия вступит в силу при следующей загрузке страницы; уже установленные cookie истекают сами, их также можно удалить в браузере.",
    "browserTitle": "В браузере",
    "browserBody": "Любой браузер позволяет блокировать или удалять cookie в настройках конфиденциальности. Если заблокировать строго необходимые, вход и оплата перестанут работать.",
    "bannerTitle": "Cookie на Alpine Pal",
    "bannerBody": "Мы используем cookie, необходимые для работы сайта. С вашего разрешения мы также хотели бы измерять, как он используется и как работает наша реклама, с помощью Microsoft Clarity, Google Analytics и Google Ads.",
    "acceptAll": "Принять",
    "rejectAll": "Только необходимые",
    "readPolicy": "Подробнее"
  },
  "instructorProfile": {
    "priceSetBySchool": "Ваши ставки устанавливает школа.",
    "managedBySchool": "Ваша школа управляет вашим календарём и настройками бронирования.",
    "resortsHint": "Добавляйте или убирайте курорты, на которых преподаёте. Новые курорты начинаются с пустого календаря — откройте часы в разделе «Индивидуальные занятия». Если убрать курорт, часы на остальных сохранятся.",
    "resortsEmpty": "Чтобы получать бронирования, нужен хотя бы один курорт.",
    "credentialFirst": "Добавьте её в разделе «Сертификаты» выше и сохраните; после этого можно будет добавить эти курорты.",
    "reverifyOnSave": "Ваши сертификаты проверены. После сохранения этого изменения они будут показаны как заявленные, пока мы их не проверим."
  },
  "lesson": {
    "askTitle": "Занятие состоялось?",
    "askBody": "Подтвердите, и мы переведём инструктору его долю. Если что-то пошло не так, сообщите нам: мы придержим платёж, пока разбираемся.",
    "confirm": "Да, подтвердить занятие",
    "report": "Возникла проблема",
    "reasonPlaceholder": "Расскажите, что случилось: инструктор не пришёл, занятие оказалось намного короче забронированного…",
    "sendReport": "Отправить сообщение",
    "confirmedToast": "Спасибо. Инструктор получил свою долю.",
    "confirmTitle": "Подтвердить, что занятие состоялось?",
    "confirmBody": "Инструктор получит выплату. Подтверждайте, только если занятие действительно прошло: это действие необратимо.",
    "reportedToast": "Сообщение отправлено. Мы разберёмся и свяжемся с вами.",
    "reportTooLate": "Эти деньги уже выведены, поэтому удержать их нельзя. Напишите нам, и мы всё уладим.",
    "disputeOpenTitle": "Мы разбираемся",
    "disputeOpenBody": "Выплата инструктору приостановлена, пока мы не решим вопрос. Мы с вами свяжемся.",
    "completedNote": "Это занятие подтверждено, расчёты завершены.",
    "noShowNote": "Инструктор отметил, что вы не пришли на это занятие.",
    "noShowReport": "Всё было не так? Сообщите о проблеме",
    "reportLate": "Что-то пошло не так? Сообщите о проблеме",
    "pendingBadge": "Ждёт вашего подтверждения"
  },
  "lessonFormats": {
    "name": {
      "morning": "Утреннее занятие",
      "afternoon": "Дневное занятие",
      "full_day": "Весь день",
      "other": "Занятие"
    },
    "formatLabel": "Формат",
    "perLesson": "за занятие",
    "fromPerLesson": "От {price} за занятие",
    "wholeGroup": "За всю группу, до {count} учеников",
    "wholeGroup_one": "За всю группу, до {count} ученика",
    "wholeGroup_few": "За всю группу, до {count} учеников",
    "firstStudent": "За 1 ученика",
    "extraPerStudent": "+{price} за каждого дополнительного ученика, за занятие",
    "markdownIntro": "Индивидуальные занятия в фиксированных форматах, цена за занятие для всей группы:"
  },
  "earnings": {
    "available": "Доступно",
    "pending": "Ожидает подтверждения",
    "onHold": "Удержано",
    "paid": "Выведено",
    "withdrawTitle": "Вывод средств на банковский счёт",
    "withdrawBody": "В этой среде платежи не настроены. Ваш баланс в безопасности, вы сможете вывести его, как только платежи заработают.",
    "payoutCountry": {
      "title": "В какой стране вы получаете выплаты?",
      "body": "Страна, где вы живёте и платите налоги; она может не совпадать с той, где вы преподаёте. Stripe запросит адрес и банковский счёт в этой стране, а после создания аккаунта для выплат изменить её будет нельзя.",
      "manualBody": "Страна, где вы живёте и платите налоги; она может не совпадать с той, где вы преподаёте. Stripe пока не может отправлять деньги в вашу страну, поэтому деньги мы переводим вручную.",
      "schoolTitle": "В какой стране школа получает выплаты?",
      "schoolBody": "Страна компании и её банковского счёта; она может не совпадать с той, где школа работает. Stripe запросит данные и банковский счёт из этой страны, а после создания аккаунта для выплат изменить её будет нельзя.",
      "schoolManualBody": "Страна компании и её банковского счёта; она может не совпадать с той, где школа работает. Stripe пока не может отправлять деньги в вашу страну, поэтому деньги мы переводим вручную.",
      "placeholder": "Выберите страну",
      "default": "Если ничего не выбрать, будет указано: {country}.",
      "saved": "Страна выплат сохранена.",
      "conversion": "Ваши занятия оплачиваются в {from}, а банковские счета в этой стране обычно открывают в {to}. По возможности укажите в Stripe счёт в {from}: вы получите ровно ту сумму, которая показана здесь. Если указать счёт в {to}, Stripe сконвертирует деньги при зачислении, и сумма будет отличаться."
    },
    "connect": {
      "setupTitle": "Настройте выплаты",
      "setupBody": "Чтобы выводить баланс, нужен аккаунт для выплат в Stripe. Это займёт несколько минут: нужно подтвердить личность и указать банковский счёт. Данные хранит Stripe, мы их не видим.",
      "setupCta": "Настроить выплаты",
      "continueCta": "Продолжить настройку",
      "reviewBadge": "На проверке в Stripe",
      "readyBadge": "Выплаты активны"
    },
    "withdraw": {
      "button": "Вывести {amount}",
      "minimumNote": "Минимальная сумма вывода: {amount}",
      "confirmTitle": "Вывести баланс?",
      "confirmBody": "Сумма {amount} будет переведена на ваш банковский счёт через Stripe. Обычно это занимает несколько дней, а начатый перевод нельзя отменить.",
      "confirmCta": "Да, вывести",
      "successToast": "Вывод средств запущен. Stripe зачислит деньги на ваш счёт в течение нескольких дней.",
      "waitingToast": "Вывод средств запущен. Деньги за последние занятия ещё обрабатываются: мы отправим их, как только они поступят, и напишем вам.",
      "waitingTitle": "Ваш вывод средств уже в пути: {amount}",
      "waitingBody": "Деньги за последние занятия ещё обрабатываются в Stripe, обычно это занимает несколько дней. Мы отправим их сами, как только они поступят, — от вас ничего не требуется — и напишем вам, когда перевод уйдёт.",
      "error": {
        "not_enabled": "Перед выводом завершите настройку выплат.",
        "no_funds": "Сейчас на балансе нет доступных средств.",
        "below_minimum": "Доступный баланс меньше минимальной суммы вывода.",
        "in_progress": "Вывод средств уже выполняется. Дождитесь его завершения.",
        "transfer_failed": "Перевод не выполнен. Средства снова доступны на балансе, попробуйте ещё раз.",
        "no_fiscal_details": "Перед выводом добавьте налоговые данные."
      },
      "confirmManual": "Мы отправим {amount} сохранённым вами способом выплаты. Мы проверяем и отправляем перевод вручную, поэтому это занимает чуть больше времени, чем автоматический перевод; как только деньги уйдут, мы напишем вам.",
      "successManual": "Запрос на вывод отправлен. Мы переведём деньги и напишем вам."
    },
    "withdrawals": {
      "title": "Вывод средств",
      "invoiceLink": "Счёт",
      "status": {
        "processing": "Выполняется",
        "paid": "Завершён",
        "failed": "Не выполнен",
        "awaiting_funds": "Ожидает поступления средств",
        "awaiting_payout": "Ожидает отправки"
      }
    },
    "movements": "Операции",
    "colRef": "Номер",
    "colDate": "Дата",
    "colInstructor": "Инструктор",
    "colResort": "Курорт",
    "colAmount": "Ваша доля",
    "colStatus": "Статус",
    "empty": "Здесь пока пусто. Когда занятие будет подтверждено, ваши {percent}% появятся в этом списке.",
    "status": {
      "pending_completion": "Ожидает подтверждения",
      "pending_review_period": "На проверке",
      "available": "Доступно",
      "processing": "Выплачивается",
      "paid": "Выведено",
      "failed": "Возвращено клиенту",
      "on_hold": "Удержано"
    },
    "manual": {
      "setupTitle": "Укажите, как вам платить",
      "setupBody": "Stripe пока не работает в вашей стране, поэтому мы сами отправляем вам деньги через PayPal, Payoneer или банковским переводом. Вы можете продолжать преподавать и копить баланс: это нужно только для вывода денег.",
      "setupCta": "Настроить выплаты",
      "readyBadge": "Выплаты на {email}",
      "readyBadgeBank": "Выплаты банковским переводом на IBAN с окончанием {last4}"
    },
    "commissionNote": "С {date} Alpine Pal удерживает {percent}% с каждого нового занятия. Для проданных ранее занятий комиссия не меняется.",
    "referralNote": "Благодаря реферальной программе с ваших следующих бронирований удерживается комиссия {percent}% вместо {standard}%: осталось {remaining}, срок — до {date}."
  },
  "fiscal": {
    "title": "Налоговые данные",
    "hint": "Эти данные нужны, чтобы выставить счёт на нашу комиссию, и без них нельзя вывести баланс. В публичном профиле они не показываются.",
    "legalName": "Полное имя или название компании",
    "taxId": "Налоговый номер",
    "vatId": "Номер плательщика НДС (необязательно)",
    "vatIdHint": "Если он у вас есть, укажите его с префиксом страны, например FR12345678901.",
    "address": "Налоговый адрес",
    "postalCode": "Почтовый индекс",
    "city": "Город",
    "countryCode": "Страна",
    "countryPlaceholder": "Выберите страну",
    "saved": "Налоговые данные сохранены.",
    "missingTitle": "Добавьте налоговые данные",
    "missingBody": "Они нужны, чтобы выставить счёт на нашу комиссию. Без них нельзя вывести баланс.",
    "missingCta": "Добавить налоговые данные",
    "invoicesTitle": "Счета Alpine Pal",
    "invoicesEmpty": "У вас пока нет счетов Alpine Pal.",
    "error": {
      "legalName": "Укажите полное имя или название компании.",
      "taxId": "Укажите полный налоговый номер.",
      "taxIdSpain": "Этот NIF недействителен: проверьте цифры и букву.",
      "vatId": "Номер указан неверно: он должен начинаться с префикса страны, например FR12345678901.",
      "address": "Укажите улицу и номер дома.",
      "postalCode": "Укажите почтовый индекс.",
      "city": "Укажите город.",
      "countryCode": "Выберите страну."
    }
  },
  "account": {
    "menu": "Ваш аккаунт",
    "security": "Безопасность и вход",
    "signOut": "Выйти",
    "closeTitle": "Закрыть аккаунт",
    "closeBody": "Это действие необратимо. Ваш профиль, история чатов и уведомления будут удалены, и вы выйдете из аккаунта.",
    "closeKept": "Мы сохраняем то, что обязаны хранить по закону: бронирования и платёжные записи для налоговых целей, а также оставленные вами отзывы — они остаются опубликованными с вашим именем, как указано в условиях. Если вы инструктор, сначала нужно получить все свои деньги. Позже вы сможете зарегистрироваться снова с тем же email.",
    "closeAction": "Закрыть мой аккаунт",
    "confirmTitle": "Закрыть аккаунт навсегда?",
    "confirmBody": "Всё, кроме указанных выше записей, будет удалено, и вы выйдете из аккаунта. Вернуть его будет нельзя.",
    "closed": "Ваш аккаунт закрыт.",
    "blockedBookings": "У вас ещё {count} предстоящих занятий. Дождитесь их или сначала отмените.",
    "blockedBookings_one": "У вас ещё {count} предстоящее занятие. Дождитесь его или сначала отмените.",
    "blockedBookings_few": "У вас ещё {count} предстоящих занятия. Дождитесь их или сначала отмените.",
    "clerkFailed": "Ваши данные удалены, но ваш логин удалить не удалось. Напишите нам, и мы завершим закрытие аккаунта.",
    "blockedBalance": "У вас ещё есть {amount} к получению. Выведите деньги — или дождитесь их зачисления, если занятие только что закончилось, — а затем закройте аккаунт.",
    "blockedRefund": "Мы возвращаем вам {amount}, и эти деньги ещё не поступили. Перед закрытием аккаунта дождитесь завершения возврата, иначе нам некуда будет их отправить.",
    "blockedSchool": "Этот аккаунт управляет школой. Напишите нам, и мы вместе с вами сначала закроем школу."
  },
  "serverError": {
    "salesCodeTaken": "Этот код уже занят другим партнёром по продажам",
    "availabilityManagedBySchool": "Теперь вашим календарём управляет школа. Обновите страницу, чтобы его увидеть.",
    "settingsManagedBySchool": "Вашими настройками бронирования управляет школа. Обновите страницу, чтобы их увидеть.",
    "bookingManagedBySchool": "На запросы на бронирование за вас отвечает школа. Обновите страницу.",
    "instructorSelfManaged": "Этот инструктор сам отвечает на запросы на бронирование.",
    "externalBlocksReadOnly": "Эти блоки пришли из системы бронирования вашей школы, здесь их изменить нельзя.",
    "availabilityChanged": "Пока вы работали, календарь изменил кто-то другой. Обновите страницу и попробуйте снова.",
    "tooManyApiKeys": "Активных ключей уже максимум: {max}. Отзовите один, чтобы создать другой.",
    "tooManyWebhooks": "Эндпоинтов уже максимум: {max}. Удалите один, чтобы добавить другой.",
    "webhookUrl": "Этот URL не подходит: нужен адрес https на публичном сервере.",
    "webhookNotFound": "Этого эндпоинта больше нет.",
    "webhookEvents": "Выберите хотя бы одно известное событие.",
    "slotUnavailable": "Это время больше не доступно. Возможно, инструктор изменил календарь после загрузки страницы: обновите её и выберите другое время.",
    "alreadyBooked": "Это время уже кто-то забронировал. Выберите другое.",
    "youAlreadyBooked": "У вас уже есть занятие на это время.",
    "inThePast": "Это время уже прошло. Выберите другое.",
    "tooSoon": "Этот инструктор принимает бронирования заранее, и это время уже слишком близко. Выберите более позднее.",
    "tooFarAhead": "На эту дату бронирование ещё не открыто.",
    "badDuration": "Такой длительности у этого инструктора нет.",
    "badStudents": "Этот инструктор не берёт столько учеников.",
    "studentDetails": "Проверьте имя и возраст каждого ученика.",
    "studentAge": "Возраст одного из учеников не подходит для этого занятия.",
    "contactPhone": "Укажите контактный телефон.",
    "wrongResort": "Этот инструктор не преподаёт на этом курорте.",
    "badBookingState": "Пока страница была открыта, статус бронирования изменился. Обновите её, чтобы увидеть, что с ним сейчас.",
    "cannotPay": "Это бронирование больше нельзя оплатить.",
    "alreadyPaid": "Это бронирование уже оплачено.",
    "paymentInProgress": "Ваш платёж за это бронирование ещё обрабатывается. Мы сообщим, как только он пройдёт.",
    "slotGoneAfterHold": "Срок бронирования истёк до завершения оплаты, и это время больше не доступно. Оформите новое бронирование.",
    "lessonAlreadyStarted": "Время этого занятия уже прошло, и бронирование истекло без оплаты. Оформите новое бронирование на другое время.",
    "cancellationClosed": "Срок бесплатной отмены этого занятия закончился. Напишите инструктору в чат.",
    "proposedTimeTaken": "Это время уже заняли. Попросите другое в чате.",
    "slotNowConflicts": "Теперь это время пересекается с другим бронированием. Предложите другое время или отклоните запрос.",
    "outsideAvailability": "Это время не входит в опубликованное вами доступное время. Сначала откройте его в календаре.",
    "lessonNotEnded": "Занятие ещё не закончилось.",
    "lessonAlreadyEnded": "Занятие уже прошло, отменить его нельзя.",
    "lessonNotEndedChat": "Занятие ещё не закончилось. Обсудите вопрос с инструктором в чате.",
    "cannotDispute": "По этому бронированию нельзя открыть спор.",
    "disputeReasonRequired": "Расскажите, что пошло не так.",
    "refundFailed": "Не удалось вернуть деньги. Мы уже получили уведомление об этом.",
    "disputeAlreadyResolved": "Эта жалоба уже рассмотрена. Обновите страницу, чтобы увидеть решение.",
    "disputeAlreadyRefunded": "Деньги за это бронирование уже возвращены, поэтому жалобу можно закрыть только возвратом средств.",
    "schoolStillOwed": "Этой школе ещё должны деньги, поэтому закрыть её нельзя. Приостановите школу и закройте её, когда всё будет выплачено.",
    "schoolLessonsAhead": "У этой школы ещё есть предстоящие занятия, поэтому закрыть её пока нельзя. Сначала они должны пройти, а затем школу можно закрыть.",
    "onlyCompletedReviewable": "Оставить отзыв можно только на завершённое занятие.",
    "alreadyReviewed": "Вы уже оставили отзыв об этом занятии.",
    "badRating": "Поставьте оценку от 1 до 5.",
    "commentTooLong": "Комментарий слишком длинный.",
    "bioTooLong": "Текст о себе слишком длинный. Лимит — 4 000 символов.",
    "emptyMessage": "Сначала напишите сообщение.",
    "meetingPointTitle": "Укажите название места встречи.",
    "noMeetingPoint": "Нет места встречи, которое можно подтвердить.",
    "fileTooLarge": "Файл слишком большой. Лимит — 8 МБ.",
    "imageTooLarge": "Изображение слишком большое. Лимит — 5 МБ.",
    "imageType": "Принимаются только изображения JPEG, PNG или WebP.",
    "fileType": "Принимаются только файлы PDF, JPEG, PNG или WebP.",
    "fileCorrupt": "Этот файл не похож на настоящий документ. Попробуйте экспортировать его ещё раз.",
    "imageCorrupt": "Это изображение не похоже на настоящую фотографию. Попробуйте другое.",
    "badPrice": "Укажите цену за час больше нуля.",
    "badExtraPrice": "Цена за дополнительного ученика не может быть отрицательной.",
    "badMaxStudents": "Размер группы должен быть от 1 до 20.",
    "badNotice": "Выберите один из предложенных вариантов минимального времени до занятия.",
    "durationOrder": "Минимальная длительность занятия не может быть больше максимальной.",
    "badLessonDuration": "Укажите длительность занятия больше нуля.",
    "badCertifications": "В этих квалификациях есть ошибка. Проверьте их и сохраните снова.",
    "certNameRequired": "Укажите название квалификации и выдавшую её организацию.",
    "certExpiryRequired": "Укажите срок действия квалификации или отметьте, что он не истекает.",
    "licenceRequired": "Для преподавания на выбранных курортах нужен номер лицензии.",
    "titleRequired": "Для преподавания на выбранных курортах загрузите сертификат или укажите его номер.",
    "offPisteNeedsTitle": "На этих курортах для занятий вне трасс, фрирайда и биг-маунтина нужна собственная квалификация: сначала добавьте её или снимите эти отметки.",
    "approveNeedsTitle": "В этом профиле нет квалификации, которую требуют его курорты: запросите её перед одобрением.",
    "pickResort": "Выберите хотя бы один курорт.",
    "resortHasGroupClasses": "На этом курорте опубликованы групповые занятия: отмените или перенесите их, прежде чем убирать курорт.",
    "pickLanguage": "Выберите хотя бы один язык преподавания.",
    "badKind": "Такого типа профиля нет.",
    "notRejected": "Снова отправить на проверку можно только отклонённую заявку.",
    "foreignDocument": "Этот документ не относится к вашему аккаунту.",
    "badAvailability": "В этих блоках доступного времени есть ошибка. Проверьте их и сохраните снова.",
    "availabilityTooSoon": "Некоторые открытые вами часы начинаются раньше, чем позволяет минимальное время до занятия ({hours} ч), поэтому их никто не сможет забронировать. Откройте более поздние часы или уменьшите это время в разделе «Индивидуальные занятия».",
    "tooManyAvailabilityBlocks": "Начиная с сегодняшнего дня в вашем календаре слишком много блоков доступного времени (максимум: {max}). Объедините часть из них или используйте еженедельные блоки и сохраните снова.",
    "chargebackOpen": "По этому бронированию открыт чарджбэк: банк уже вернул деньги. Вопрос закроется сам, когда Stripe примет решение; чтобы согласиться раньше, используйте «Вернуть деньги клиенту» в разделе «Жалобы».",
    "startedRejectInstead": "Это занятие уже началось, поэтому принять его нельзя. Отклоните запрос, и клиент получит деньги обратно.",
    "rateLimited": "Слишком много попыток подряд. Подождите немного и попробуйте снова.",
    "badYearsExperience": "Опыт должен быть от 0 до 80 лет.",
    "tooManyResorts": "Максимум курортов: {max}.",
    "instructorNotBookable": "Этот инструктор сейчас не принимает бронирования.",
    "instructorUnavailable": "Этот инструктор сейчас недоступен.",
    "schoolNameMismatch": "Название не совпадает: чтобы закрыть школу, введите его точно.",
    "onlyApprovedSchoolPublished": "Опубликовать можно только одобренную школу.",
    "signInRequired": "Войдите, чтобы продолжить.",
    "notAuthorised": "У вас нет прав на это действие.",
    "instructorCannotRegisterSchool": "У этого аккаунта уже есть профиль инструктора: зарегистрируйте школу с отдельного аккаунта.",
    "countryNotServed": "Мы пока не работаем в этой стране.",
    "schoolNotFound": "Такой школы нет.",
    "schoolNotApproved": "Ваша школа ещё не одобрена.",
    "payoutIban": "Этот IBAN указан неверно.",
    "payoutAccountHolder": "Укажите имя владельца счёта.",
    "invitationInvalid": "Это приглашение больше не действует.",
    "invitationExpired": "Срок действия приглашения истёк: попросите школу отправить его ещё раз.",
    "invitationWrongEmail": "Приглашение отправлено на другой адрес. Добавьте и подтвердите этот адрес в своём аккаунте или попросите школу отправить приглашение на ваш текущий адрес.",
    "schoolCurrencyMismatch": "Выберите курорты в стране или валютной зоне вашей школы.",
    "badEmail": "Этот email указан неверно.",
    "invitationDuplicate": "На этот email уже отправлено приглашение, ожидающее ответа.",
    "alreadyManagesSchool": "Этот аккаунт уже управляет школой.",
    "schoolCannotApply": "Аккаунт управления школой не может подать заявку как инструктор: используйте отдельный аккаунт.",
    "instructorCannotManageSchool": "Аккаунт инструктора не может управлять школой: используйте отдельный аккаунт.",
    "creatorCannotBeRemoved": "Создателя школы нельзя убрать.",
    "accountClosed": "Этот аккаунт закрыт.",
    "instructorClosed": "Этот инструктор закрыл свой аккаунт.",
    "invoiceNotReady": "Этот счёт пока недоступен.",
    "tooYoung": "Минимальный возраст для регистрации инструктора: {min}.",
    "badDateOfBirth": "Эта дата рождения недействительна.",
    "companionBlocked": "{countries}: для платного преподавания нужна официальная квалификация.",
    "priceBelowMinimum": "Эта цена за час слишком низкая: мы не сможем провести такой платёж. Увеличьте её и сохраните снова.",
    "companionNoQualification": "Компаньон по катанию не заявляет квалификацию, поэтому проверять нечего.",
    "outsideSkiDay": "Занятия возможны только с 07:00 до 21:00 по времени курорта.",
    "tooManyPhotos": "Можно загрузить только 3 фото.",
    "tooManySchoolPhotos": "В галерее помещается до 6 фото.",
    "photoNotYours": "Это фото вам не принадлежит.",
    "photoList": "Список фото указан неверно.",
    "payoutProvider": "Выберите PayPal или Payoneer.",
    "payoutEmail": "Этот email для выплат указан неверно.",
    "payoutNotWaiting": "Эта выплата больше не ожидает обработки.",
    "payoutsNotLiveYet": "Мы пока не можем включить ваши выплаты, и дело не в вас: мы завершаем настройку со Stripe. Ваш баланс в безопасности, и вы сможете вывести его, как только всё будет готово.",
    "payoutsCountryBlocked": "Stripe не может делать выплаты в вашей стране. Напишите нам на info@alpinepal.com, и мы вместе решим этот вопрос.",
    "stripeUnreachable": "Не удалось связаться со Stripe. Попробуйте ещё раз через несколько минут.",
    "payoutCountryUnsupported": "Мы пока не можем делать выплаты в этой стране. Напишите нам на info@alpinepal.com, и мы найдём другой способ.",
    "payoutCountryLocked": "Страну выплат больше нельзя изменить: ваш аккаунт Stripe уже создан. Если вы выбрали не ту страну, напишите нам на info@alpinepal.com.",
    "noInstructorProfile": "У этого аккаунта ещё нет профиля инструктора. Заполните форму заявки на странице приглашения.",
    "alreadyInstructor": "У этого аккаунта уже есть профиль инструктора. Откройте ссылку из приглашения, чтобы присоединиться к школе с этим профилем.",
    "joinNotCertified": "К школе могут присоединиться только сертифицированные инструкторы. Сначала измените тип профиля на «сертифицированный инструктор».",
    "joinRejected": "Ваш профиль не был одобрен. Запросите повторную проверку, прежде чем присоединяться к школе.",
    "joinAlreadyInSchool": "Вы уже преподаёте в школе. Сначала попросите её убрать вас из команды.",
    "joinCurrencyMismatch": "Цены в вашем профиле указаны не в валюте школы, и это нельзя изменить.",
    "joinOutstandingBalance": "Выведите баланс, прежде чем присоединяться к школе. Сначала нужно завершить расчёты по оплаченным занятиям и вывести деньги.",
    "schoolNotTakingBookings": "Эта школа сейчас не принимает бронирования.",
    "unassignedNeedsResorts": "Для занятий без назначенного инструктора нужен хотя бы один курорт. Выберите курорты в профиле школы.",
    "assignNotUnassigned": "Назначить инструктора можно только на занятия без назначенного инструктора.",
    "assignBadState": "На это занятие больше нельзя назначить инструктора.",
    "assignPackPending": "Сначала примите пакет: до этого его дни можно назначать только инструкторам, которыми управляет ваша школа.",
    "assignNotOnRoster": "Этот инструктор не входит в активный состав вашей команды.",
    "assignCurrency": "Валюта этого инструктора отличается от валюты занятия.",
    "assignNotVerified": "Этот инструктор ещё не проверен.",
    "assignDiscipline": "Этот инструктор не преподаёт дисциплину этого занятия.",
    "assignDuration": "Длительность этого занятия не входит в то, что предлагает этот инструктор.",
    "assignStudents": "На этом занятии больше учеников, чем берёт этот инструктор.",
    "groupClassGone": "Это групповое занятие больше не доступно.",
    "groupClassWrongDate": "В эти дату и время это групповое занятие не проводится.",
    "groupClassFull": "На этом групповом занятии мест нет.",
    "groupClassFixedTime": "Групповое занятие проходит в фиксированное время, его нельзя перенести.",
    "groupClassMeetingPointFixed": "Место встречи группового занятия задаёт инструктор, оно одно для всех.",
    "groupClassAssignWhole": "Места группового занятия нельзя назначать по одному.",
    "groupClassInvalid": "Не удалось сохранить групповое занятие. Проверьте день, время и данные.",
    "groupClassCapacity": "У группового занятия должно быть от 2 до 50 мест, и минимум не может превышать их число.",
    "groupPriceBelowMinimum": "Цена за участника ниже минимальной.",
    "groupClassesDisabled": "Групповые занятия для этого профиля выключены. Сначала включите их в настройках.",
    "groupClassOverlap": "Эти часы пересекаются с другим вашим групповым занятием.",
    "groupClassExternalBlock": "Эти часы заняты занятием, проданным вне Alpine Pal.",
    "tooManyGroupClasses": "Предстоящих групповых занятий уже максимум: {max}. Отмените одно, чтобы опубликовать другое.",
    "unclaimedProfile": "Права на этот профиль ещё никто не подтвердил: им управляет ваша школа, пока этого не сделает инструктор.",
    "unclaimedHasLessons": "У этого инструктора ещё есть предстоящие занятия: сначала отмените их или назначьте на другого инструктора.",
    "acceptTerms": "Примите условия, чтобы продолжить.",
    "groupClassAges": "Проверьте возраст: только для детских занятий, от {min} до {max}, и первое число не больше второго.",
    "groupClassForChildren": "Это занятие для детей: все ученики должны быть детьми.",
    "groupClassForAdults": "Это занятие для взрослых: все ученики должны быть взрослыми.",
    "badLessonFormats": "Форматы или сезоны заполнены не полностью. Проверьте их и сохраните снова.",
    "badDurationPrices": "Цены за несколько часов указаны неверно: более длинное занятие не может стоить дороже за час или дешевле в сумме, чем более короткое.",
    "badSeatDisciplines": "Выберите дисциплину этих занятий: лыжи, сноуборд или и то и другое.",
    "badLessonLength": "Проверьте длительность занятия: самое короткое не может быть длиннее самого длинного.",
    "oneLevelPerBooking": "Эта школа не совмещает на занятии разные уровни и возрасты: оформите отдельное бронирование на каждую группу.",
    "formatsNotSold": "В этом календаре нет фиксированных форматов. Выберите время заново.",
    "chooseFormat": "Эти занятия продаются в фиксированных форматах: выберите формат в календаре.",
    "formatGone": "Этот формат больше не предлагается. Выберите другой в календаре школы.",
    "formatNotOnDate": "В этот день этот формат не продаётся. Выберите другой день или формат.",
    "formatOtherTime": "Этот формат начинается в другое время. Выберите его в календаре заново.",
    "formatMoveHours": "Занятие в фиксированном формате можно перенести только на те же часы.",
    "formatMovePrice": "В этот день этот формат не продаётся по цене, которую заплатил клиент. Выберите другой день.",
    "packDayUnavailable": "Один из дней пакета больше не доступен. Выберите другую дату начала.",
    "packDayFull": "В один из дней пакета нет мест. Выберите другую дату начала или меньше людей.",
    "onlyPacks": "Это групповое занятие продаётся только пакетами.",
    "packNotSold": "Этот пакет больше не продаётся.",
    "packBandsMissing": "Выберите цену для каждого человека.",
    "packNotFromDate": "С этой даты пакет начать нельзя: впереди недостаточно его дней.",
    "minDaysRequired": "В эти даты это занятие продаётся только на несколько дней подряд.",
    "packStarted": "Этот пакет уже начался, отменить его нельзя.",
    "packDayFixed": "День пакета нельзя перенести.",
    "badPacks": "Пакеты нельзя сохранить в таком виде: проверьте дни и цены.",
    "equipmentUnavailable": "Для этого занятия прокат снаряжения больше не предлагается. Снимите отметки со снаряжения, чтобы забронировать занятие.",
    "equipmentInvalid": "Проверьте выбранное снаряжение: что-то из него больше не предлагается.",
    "equipmentShoeSize": "Укажите размер обуви всех, кто берёт ботинки.",
    "equipmentHeight": "Укажите рост всех, кто берёт лыжи, доску или одежду.",
    "equipmentPrice": "Каждая цена за день должна быть от {min} до {max}.",
    "equipmentOtherName": "Укажите название каждого дополнительного предмета.",
    "equipmentTooManyOthers": "Максимум дополнительных предметов: {max}.",
    "badCancellationWindow": "Выберите один из предложенных вариантов условий отмены.",
    "referralNotPending": "Это приглашение больше не ожидает проверки. Обновите страницу.",
    "referrerIneligible": "Пригласивший больше не может получить вознаграждение: он присоединился к школе, приостановил работу или закрыл аккаунт.",
    "referralYearLimit": "Пригласивший уже получил в этом году все возможные вознаграждения.",
    "referralGrantRevoked": "Эта скидка уже отменена.",
    "badSeasonPrices": "Сезонные цены указаны неверно. Проверьте даты и цены.",
    "badIncludedStudents": "Число учеников, включённых в цену, должно быть от 1 до 20.",
    "badChildEquipmentAge": "Возраст для детских цен должен быть от 3 до 17 лет.",
    "badChildEquipmentSize": "Размер детского снаряжения указан неверно: проверьте рост и размер обуви.",
    "fiscalDetails": "Проверьте налоговые данные: в них что-то указано неверно.",
    "lueiraReview": "Ваше подключение к Lueira на проверке. Мы сообщим, когда оно будет готово."
  },
  "installApp": {
    "title": "Установите Alpine Pal как приложение",
    "body": "Оно открывается в отдельном окне, как любое другое приложение, а запросы и сообщения всегда под рукой.",
    "iosIntro": "На iPhone и iPad это делается в два шага:",
    "iosShare": "Нажмите «Поделиться» (если кнопки не видно, она в меню ···).",
    "iosAdd": "Выберите «На экран „Домой“».",
    "install": "Установить приложение",
    "notNow": "Не сейчас"
  },
  "push": {
    "title": "Получайте уведомления на этом устройстве",
    "body": "Мы сразу сообщим о запросах на бронирование, сообщениях и всём, что ждёт вашего ответа, даже если приложение закрыто.",
    "bodyCustomer": "Мы сразу сообщим, когда ваше бронирование примут, вам напишут или что-то изменится, даже если Alpine Pal не открыт.",
    "hint": "Отключить их можно в любой момент — через колокольчик или в настройках телефона.",
    "enable": "Включить уведомления",
    "notNow": "Не сейчас",
    "toggle": "Уведомления на этом устройстве",
    "blocked": "Заблокированы в настройках устройства",
    "iosInstall": "На iPhone для уведомлений нужно установить приложение",
    "enabled": "Уведомления включены. Мы отправили вам тестовое.",
    "untested": "Уведомления включены, но тестовое не отправилось. Если они не будут приходить, включите их снова позже.",
    "disabled": "Уведомления на этом устройстве отключены.",
    "denied": "Уведомления заблокированы. Чтобы их получать, разрешите их для Alpine Pal в настройках устройства.",
    "failed": "Не удалось включить уведомления. Попробуйте ещё раз.",
    "testTitle": "Уведомления включены",
    "testBody": "Так к вам будут приходить новости о бронированиях и сообщения."
  },
  "share": {
    "myProfile": "Поделиться профилем",
    "schoolPage": "Поделиться страницей школы",
    "copied": "Ссылка скопирована",
    "copyFailed": "Не удалось скопировать ссылку"
  },
  "formatCalendar": {
    "title": "Календарь форматов",
    "subtitle": "Одна строка на формат. Нажмите на ячейку, чтобы открыть её, изменить число мест или закрыть. Время указано по часовому поясу курорта.",
    "subtitlePerson": "Одна строка на формат. Нажмите на ячейку, чтобы открыть или закрыть её. Одно занятие за раз. Время указано по часовому поясу курорта.",
    "noFormats": "Добавьте хотя бы один формат на шаге 2, чтобы увидеть здесь его календарь.",
    "legendOnSale": "В продаже",
    "legendClosed": "Закрыто",
    "legendNoSeason": "В этот день нет цены",
    "cellClosed": "Закрыто. Нажмите, чтобы открыть по цене {price}.",
    "cellNoSeason": "Этот день не входит ни в один сезон с ценой на этот формат: он не продаётся.",
    "cellOpen": "Забронировано {taken} из {places} · {price}",
    "cellOpenNoPrice": "Забронировано {taken} из {places} · в этот день нет цены",
    "weekOutOfSeason": "Эта неделя не входит ни в один сезон: у её форматов нет цены, и они не продаются.",
    "toSeason": "Перейти к дате {date}",
    "closedNow": "В этот день закрыто.",
    "placesHint": "Сколько занятий этого формата вы можете продать одновременно на этом курорте.",
    "wholeDay": "Весь день ({from}–{to}): места считаются для всех форматов",
    "wholeDayHint": "Если на одного инструктора приходится одно место, любой формат занимает его на время занятия, и вы никогда не продадите больше занятий одновременно, чем у вас инструкторов. Форматы, открытые по отдельности, суммируют свои места там, где пересекаются.",
    "wholeDayPerson": "Весь день ({from}–{to}): открывает часы всех форматов",
    "wholeDayPersonHint": "Одно занятие за раз: как только формат забронирован, пересекающиеся с ним форматы в этот день снимаются с продажи.",
    "openNowPerson": "Открыто в этот день.",
    "bookedNowPerson": "Открыто в этот день, на эти часы уже есть бронирование.",
    "scopeWeekly": "Каждую неделю",
    "untilSeasonEnd": "До конца сезона: {date}.",
    "untilDate": "До {date} включительно.",
    "alsoOpens": "Также откроется: {formats}.",
    "alsoCloses": "Также снимается с продажи: {formats}.",
    "closeAlsoCloses": "При закрытии также закроется: {formats}.",
    "closedFormatNow": "В этот день закрыт только этот формат. В его часы для остальных форматов остаётся мест: {places}.",
    "closedFormatNowPerson": "В этот день закрыт только этот формат. Остальные форматы в эти часы остаются в продаже.",
    "cellClosedFormat": "Закрыт только этот формат. Нажмите, чтобы открыть по цене {price}.",
    "closeDay": "Закрыть день",
    "openDay": "Открыть день",
    "closeOnlyHint": "«Закрыть формат» закрывает только этот формат; остальные сохраняют свои места. Чтобы закрыть все, включите «Весь день».",
    "closeOnlyHintPerson": "«Закрыть формат» закрывает только этот формат; остальные остаются в продаже. Чтобы закрыть все, включите «Весь день».",
    "close": "Закрыть формат",
    "open": "Открыть формат"
  },
  "packs": {
    "title": "Пакеты на несколько дней",
    "optional": "Пакеты на несколько дней (необязательно)",
    "hint": "Продавайте несколько дней курса одним платежом, по цене за человека в зависимости от возраста. Каждый день бронируется как занятие курса.",
    "courseNote": "Действуют на весь курс: дни недели, которые вы опубликовали вместе.",
    "days": "Дни",
    "band": {
      "adult": "Взрослые",
      "youth": "Молодёжь",
      "child": "Дети"
    },
    "addOption": "Добавить пакет",
    "removeOption": "Удалить этот пакет",
    "pricesHint": "Цена за человека на весь пакет. Если оставить категорию пустой, в этом пакете она не продаётся.",
    "agesTitle": "Возраст в каждой категории (необязательно)",
    "agesMin": "От",
    "agesMax": "До",
    "includesTitle": "Что входит, кроме занятий",
    "include": {
      "liftPass": "Ски-пасс",
      "rental": "Прокат снаряжения",
      "helmet": "Шлем"
    },
    "singleDays": "Продавать и отдельные дни",
    "singleDaysHint": "Каждый отдельный день — по цене занятия за человека.",
    "blocked": {
      "too_many_options": "Максимум пакетов: {max}.",
      "bad_days": "Каждый пакет — от {min} до {max} дн.",
      "duplicate_days": "В двух пакетах одинаковое число дней.",
      "option_without_prices": "Для каждого пакета нужна хотя бы одна цена.",
      "price_below_minimum": "Каждая цена должна быть не меньше {min} {currency} за день пакета.",
      "bad_ages": "Проверьте возраст: от {min} до {max}, и первое число не больше второго."
    },
    "saved": "Пакеты сохранены",
    "save": "Сохранить пакеты",
    "remove": "Удалить пакеты",
    "edit": "Изменить пакеты",
    "none": "Нет: каждый день продаётся отдельно.",
    "summaryOptions": "Пакеты на {list} дн.",
    "cardBadge": "Пакеты на {list} дн.",
    "agesRange": "возраст: {min}–{max}",
    "agesFrom": "возраст: от {min}",
    "agesUpTo": "возраст: до {max}",
    "single": "Только этот день",
    "optionLabel": "{days} дн.",
    "fromPerPerson": "от {price} за человека",
    "chooseWho": "Кто будет заниматься?",
    "addOne": "Добавить",
    "removeOne": "Убрать",
    "includes": "Включено: {list}",
    "lessons": "Занятия",
    "oneDay": "Один день",
    "daysInRow": "{days} дн. подряд",
    "minDaysNote": "В эти даты минимум — {days} дн. подряд.",
    "datesRange": "С {from} по {to}.",
    "doesNotFit": "С этого дня в продаже есть не все {days} дн. подряд: выберите другой первый день.",
    "people": "Человек: {n}",
    "summaryLabel": "Пакет",
    "firstDay": "Первый день",
    "groupDaysNote": "Ближайшие занятия курса (всего: {days}), начиная с {date}.",
    "formatDaysNote": "{days} дн. подряд, с {from} по {to}.",
    "bookingTitle": "Пакет на {days} дн.",
    "dayOf": "День {day} из {days}",
    "bookingNote": "Каждый день — отдельное занятие. Пакет отменяется целиком; если один из дней не состоится, вам вернут стоимость этого дня.",
    "chatOnFirstDay": "Чат у пакета один, он привязан к первому дню.",
    "openFirstDay": "Перейти к первому дню",
    "cancelPack": "Отменить пакет",
    "acceptPack": "Принять пакет",
    "rejectPack": "Отклонить пакет",
    "answerWhole": "Этот день входит в пакет на {days} дн.: принять или отклонить можно только весь пакет, а его дни нельзя перенести.",
    "wholePackNote": "За человека, за весь пакет, в зависимости от возраста."
  },
  "extraStudents": {
    "title": "Цена за дополнительного ученика",
    "foldHint": "Если вы берёте больше, когда на занятии несколько учеников.",
    "extraHint": "Пусто или 0: одна цена при любом размере группы."
  },
  "durationPrices": {
    "title": "Цена за несколько часов подряд",
    "hint": "Цена всего занятия для одного ученика. Если пусто, эта длительность считается по часовой ставке последней длительности с ценой перед ней, а если такой нет, почасово.",
    "label": "{hours} ч подряд",
    "labelOrMore": "{hours} ч и больше",
    "perHour": "= {price} за час",
    "lineExact": "{hours} ч подряд",
    "lineRate": "{hours} ч по {price} за час",
    "short": "{hours} ч",
    "shortOrMore": "{hours} ч и больше",
    "blocked": {
      "not_a_price": "Цена за {hours} ч должна быть числом больше 0. Если у этой длительности нет своей цены, оставьте поле пустым.",
      "below_minimum": "Каждая цена должна быть не меньше {min} {currency} за час.",
      "dearer_per_hour": "Занятие на {hours} ч выходит по {rate} за час — дороже, чем на {shorter} ч ({shorterRate} за час): более длинное занятие не может стоить дороже за час.",
      "dearer_than_hourly": "Занятие на {hours} ч выходит по {rate} за час — дороже почасовой цены ({shorterRate}), по которой идут занятия на {shorter} ч.",
      "cheaper_than_shorter": "Занятие на {hours} ч стоит всего {total} — меньше, чем на {shorter} ч ({shorterTotal}): более длинное занятие не может стоить меньше.",
      "cheaper_than_hourly": "Занятие на {hours} ч стоит всего {total} — меньше, чем {shorter} ч по почасовой цене ({shorterTotal}): более длинное занятие не может стоить меньше.",
      "orStartLater": "Если вы не продаёте такие короткие занятия, начинайте их с {hours} ч."
    },
    "foldHint": "Если вы берёте фиксированную цену за 2, 3 или больше часов подряд."
  },
  "seasonPrices": {
    "title": "Сезонные цены",
    "hint": "Необязательно. В даты сезона действуют его часовая ставка и цены за несколько часов подряд; в остальные дни — указанные выше.",
    "namePlaceholder": "Высокий сезон",
    "rateLabel": "Часовая ставка в эти даты ({currency})",
    "headerNote": "Цена зависит от даты: выберите день, чтобы увидеть цену на него.",
    "includesUpTo": "Учеников в цене: до {n}",
    "includedLabel": "Ученики, включённые в цену",
    "includedHint": "Доплата за ученика действует со второго.",
    "includedHintFrom": "Доплата начинается с ученика № {n}.",
    "blocked": {
      "too_many_seasons": "Максимум сезонов: {max}.",
      "bad_season": "Сезон не удаётся прочитать: удалите его и создайте заново.",
      "bad_season_name": "Название сезона слишком длинное (максимум символов: {max}).",
      "bad_season_dates": "Проверьте отмеченные даты: у каждого диапазона должны быть начало и конец, и конец не может быть раньше начала.",
      "seasons_overlap": "Два диапазона дат пересекаются: у каждого дня может быть только одна цена.",
      "season_rate_below_minimum": "Часовая ставка сезона ниже минимума: {min} {currency}.",
      "season_duration_prices": "Проверьте цены сезона за несколько часов."
    },
    "foldHint": "Если в некоторые даты цена другая, например в высокий сезон.",
    "unnamed": "Сезон {n}"
  },
  "extraPer": {
    "label": "Как считается доплата",
    "hour": "за час",
    "lesson": "за занятие"
  },
  "equipment": {
    "title": "Прокат снаряжения",
    "intro": "Сдавайте снаряжение в прокат вместе с занятиями. Тот, кто бронирует ваше занятие, может добавить то, что нужно каждому ученику, и оплатить всё вместе с занятием.",
    "enableLabel": "Предлагать прокат снаряжения",
    "whereNote": "Предлагается со всеми занятиями, оплата за которые идёт школе: занятиями без назначенного инструктора, групповыми занятиями и занятиями вашей команды. Цена указывается за день, на все дни занятия.",
    "commissionNote": "Как и с занятиями, мы удерживаем {commission}%, а {share}% поступает на ваш баланс после завершения занятия; при возврате денег за занятие возвращается и плата за снаряжение.",
    "nothingPriced": "Укажите цену хотя бы для одного предмета, чтобы предложить прокат.",
    "notPublic": "Клиенты увидят прокат, как только ваша школа будет опубликована.",
    "itemsTitle": "Что вы сдаёте и цена за день",
    "itemsHint": "Цена для взрослых. Оставьте пустым то, что не сдаёте.",
    "groupSki": "Лыжи",
    "groupSnowboard": "Сноуборд",
    "groupCommon": "Для всех",
    "perDay": "{currency}/день",
    "othersTitle": "Другие предметы",
    "othersHint": "Всё, чего нет в списке, с вашим названием. Оно показывается так, как вы его написали, на всех языках.",
    "otherNameLabel": "Название предмета",
    "otherNamePlaceholder": "Например, защита спины",
    "addOther": "Добавить предмет",
    "removeOther": "Удалить этот предмет",
    "priceRangeError": "Каждая цена за день должна быть от {min} до {max}.",
    "otherIncomplete": "Укажите название каждого дополнительного предмета или оставьте оба поля пустыми.",
    "pickupTitle": "Где забрать",
    "pickupHint": "Если снаряжение выдают не там, где начинается занятие, укажите где. Клиент увидит это перед оплатой, в подтверждении и в напоминании накануне.",
    "pickupAddressLabel": "Адрес пункта проката",
    "pickupAddressPlaceholder": "Например, 12 Main Street, Vielha",
    "pickupNoteLabel": "Примечание (необязательно)",
    "pickupNotePlaceholder": "Например, открыто 8:00–20:30; забрать можно накануне вечером",
    "pickupNoteHint": "Показывается так, как вы его написали, на всех языках.",
    "pickupNoAddress": "Укажите адрес пункта проката или оставьте примечание тоже пустым.",
    "pickupBefore": "Заберите снаряжение до занятия.",
    "kind": {
      "ski_set": "Комплект для лыж (лыжи, ботинки и палки)",
      "skis": "Лыжи",
      "ski_boots": "Горнолыжные ботинки",
      "poles": "Палки",
      "snowboard_set": "Комплект для сноуборда (доска и ботинки)",
      "snowboard": "Сноуборд",
      "snowboard_boots": "Ботинки для сноуборда",
      "helmet": "Шлем",
      "goggles": "Маска",
      "gloves": "Перчатки",
      "clothing": "Одежда (куртка и штаны)"
    },
    "checkoutTitle": "Нужно снаряжение?",
    "checkoutIntro": "Школа {school} сдаёт снаряжение на время занятия. Отметьте, что нужно каждому ученику: оплата идёт вместе с занятием.",
    "checkoutDays": "Цены указаны за день, на все дни пакета: {days} дн.",
    "includedInSet": "Входит в комплект",
    "pricePerDay": "{price}/день",
    "shoeSize": "Размер обуви (EU)",
    "height": "Рост (см)",
    "sizesNote": "Пункт проката подгонит снаряжение, когда вы его заберёте.",
    "breakdownLine": "Прокат снаряжения",
    "breakdownLineDays": "Прокат снаряжения · {days} дн.",
    "errorStudent": "Проверьте выбранное снаряжение.",
    "errorItem": "Проверьте выбранное снаряжение: что-то из него больше не предлагается.",
    "errorSet": "В комплект уже входят свои лыжи, ботинки или доска.",
    "errorShoeSize": "Укажите размер обуви всех, кто берёт ботинки.",
    "errorHeight": "Укажите рост всех, кто берёт лыжи, доску или одежду.",
    "bookingLabel": "Прокат снаряжения",
    "includedInTotal": "{amount}, включено в итоговую сумму",
    "shoeShort": "размер обуви {size}",
    "heightShort": "{cm} см",
    "forDays": "На {days} дн.",
    "childTitle": "Детские цены",
    "childFoldHint": "Если детское снаряжение стоит иначе.",
    "childHint": "Применяются к ученикам, забронированным как дети. Оставьте пустым то, что стоит столько же, сколько для взрослых.",
    "childMaxAgeLabel": "Для детей до",
    "childMaxAgeSuffix": "лет включительно",
    "childAgeError": "Возраст должен быть от {min} до {max}.",
    "childNoItems": "Сначала укажите выше цены на то, что вы сдаёте.",
    "childSummary": "До {age} лет · с детской ценой: {n}",
    "childPricesNote": "Детская цена: до {age} лет.",
    "childTag": "ребёнок",
    "tier": {
      "basic": "Базовый класс",
      "mid": "Средний класс",
      "high": "Высокий класс"
    },
    "tierLabel": "Класс",
    "tiersTitle": "Классы снаряжения",
    "tiersFoldHint": "Если одно и то же снаряжение сдаётся в нескольких классах.",
    "tiersHint": "Отметьте классы, которые вы сдаёте, и укажите цену для каждого. Оставьте пустым класс, которого нет у предмета: если класс один, клиент не выбирает.",
    "childByLabel": "Детская цена по",
    "childByAge": "возрасту",
    "childBySize": "размеру",
    "childHintSize": "Применяется к тем, кто не выше этого роста (лыжи, доски и одежда) или не больше этого размера обуви (ботинки); к комплекту — когда подходит и то и другое. Шлемы, палки и всё остальное всегда по цене для взрослых. Оставьте пустым то, что стоит столько же, сколько для взрослых.",
    "childMaxHeightLabel": "Детское снаряжение: до",
    "childMaxShoeLabel": "см и размер обуви",
    "childSizeError": "Рост должен быть от {minHeight} до {maxHeight} см, а размер обуви — от {minShoe} до {maxShoe}.",
    "childWhoAge": "до {age} лет",
    "childWhoSize": "до {height} см и размер обуви {shoe}",
    "childSummaryWho": "{who} · с детской ценой: {n}",
    "childSizeNote": "Детское снаряжение: до {height} см и размер обуви {shoe}. Цена появится, когда вы укажете рост и размер обуви."
  },
  "googleCalendar": {
    "title": "Google Calendar",
    "introInstructor": "Ваши подтверждённые занятия сами появляются в календаре «Alpine Pal» вашего аккаунта Google: добавляются, переносятся и удаляются по мере изменений. Другие ваши календари никогда не затрагиваются.",
    "introSchool": "Все занятия вашей школы, каждое с именем инструктора в начале, сами появляются в календаре «Alpine Pal» вашего аккаунта Google. Занятия без назначенного инструктора показываются с пометкой «Не назначено».",
    "schoolAccountTip": "Лучше подойдёт общий аккаунт школы (например, bookings@…), чем личный аккаунт администратора. Каждый инструктор также может подключить свой из личного кабинета, в разделе «Подключения».",
    "connect": "Подключить Google Calendar",
    "connectedAs": "Подключено: {email}",
    "connectedBy": "кто подключил: {name}",
    "updating": "Обновляем ваши занятия…",
    "syncedAt": "Обновлено: {when}",
    "resync": "Синхронизировать заново",
    "resyncDone": "Ваши занятия снова записываются в Google Calendar.",
    "disconnect": "Отключить",
    "disconnectTitle": "Отключить Google Calendar?",
    "disconnectBody": "Занятия перестанут попадать в Google Calendar. В Alpine Pal ничего не изменится.",
    "deleteCalendar": "Также удалить календарь «Alpine Pal» из Google",
    "disconnected": "Google Calendar отключён.",
    "brokenRevoked": "Alpine Pal больше не имеет доступа к аккаунту {email}, поэтому новые занятия не попадают в Google Calendar. Подключите его снова.",
    "brokenDeleted": "Календарь «Alpine Pal» был удалён из аккаунта {email}, поэтому новые занятия туда не попадают. Подключитесь снова, чтобы создать его заново.",
    "reconnect": "Подключить снова",
    "busy": {
      "title": "Блокировать занятые часы",
      "intro": "Всё, что есть в вашем Google Calendar (приём у врача, другое занятие, поездка), больше нельзя будет забронировать на Alpine Pal. Мы видим только, когда вы заняты, но не чем именно.",
      "enable": "Включить",
      "on": "Включено: часы, которые ваш основной Google Calendar показывает как занятые, нельзя забронировать. События с отметкой «свободен» не считаются.",
      "checkedAt": "Проверено: {when}",
      "checking": "Читаем ваше занятое время…",
      "failing": "В прошлый раз не удалось прочитать календарь; повторим через несколько минут. А пока часы, прочитанные раньше, остаются заблокированными.",
      "disable": "Отключить",
      "disabled": "Занятое время из Google больше не блокирует ваш календарь."
    },
    "result": {
      "connected": "Google Calendar подключён. Ваши занятия появятся через несколько секунд.",
      "denied": "Не подключено: вы отменили действие в Google.",
      "scope_missing": "Нет разрешения на календарь. Подключитесь снова и оставьте отметку у Google Calendar.",
      "forbidden": "Вы не можете подключить этот календарь.",
      "unavailable": "Подключение Google Calendar пока недоступно.",
      "failed": "Не удалось подключиться к Google. Попробуйте ещё раз.",
      "busy_on": "Готово: часы, когда вы заняты в Google Calendar, больше нельзя забронировать.",
      "busy_scope_missing": "Нет разрешения на просмотр занятости. Включите функцию снова и оставьте отметку у просмотра вашей занятости."
    }
  },
  "referral": {
    "card": {
      "title": "Пригласите инструктора",
      "body": "Поделитесь ссылкой с другими инструкторами. Кто зарегистрируется по ней, заплатит комиссию {inviteePercent}% вместо {standard}% с занятий на первые {amount}. А когда он проведёт первое оплаченное занятие, с ваших занятий на следующие {amount} будет удерживаться {percent}% вместо {base}%.",
      "preview": "Это видите только вы: программа не работает, пока не пройдёт 15 дней после уведомления о новых условиях. Код, использованный сейчас, не засчитывается.",
      "linkLabel": "Ваша реферальная ссылка",
      "copy": "Копировать",
      "copied": "Ссылка скопирована",
      "share": "Поделиться",
      "shareText": "Преподавайте на Alpine Pal. По моей ссылке вы платите комиссию {percent}% вместо {standard}% с занятий на первые {amount}:",
      "code": "Ваш код: {code}. Те, у кого нет ссылки, могут ввести его при регистрации.",
      "rewardsTitle": "Ваша сниженная комиссия",
      "reward": "С ваших занятий удерживается {percent}% вместо {base}%: осталось {remaining} из {cap}, срок — до {date}.",
      "inviteesTitle": "Кого вы пригласили",
      "inviteesEmpty": "По вашему коду пока никто не зарегистрировался.",
      "limit": "Вознаграждений в год: до {n} (получено: {used}).",
      "terms": "Условия"
    },
    "status": {
      "registered": "Ожидает одобрения",
      "approved": "Профиль одобрен, занятий ещё не было",
      "to_review": "Первое занятие проведено: проверяем ваше вознаграждение",
      "rewarded": "Вознаграждение получено",
      "declined": "Без вознаграждения",
      "void": "Закрыто"
    },
    "banner": "{name} приглашает вас на Alpine Pal. Зарегистрируйтесь по приглашению, и с ваших первых занятий будет удерживаться комиссия {percent}% вместо {standard}%.",
    "field": {
      "label": "Реферальный код",
      "placeholder": "MARTA-7K3Q",
      "valid": "Приглашение от инструктора {name}: с ваших первых занятий будет удерживаться комиссия {percent}% вместо {standard}%.",
      "invalid": "Такого кода нет, или он больше не действует. Проверьте его или оставьте поле пустым.",
      "privacy": "Пригласивший вас увидит, что вы использовали его код и провели ли вы первое занятие, но никогда не увидит ваши суммы."
    }
  },
  "assistant": {
    "open": "ИИ-ассистент",
    "title": "Ассистент Alpine Pal",
    "hint": "Нужна помощь?",
    "aiBadge": "ИИ",
    "greeting": "Здравствуйте! Я ИИ-ассистент Alpine Pal. Спрашивайте что угодно о сайте или скажите, где и когда хотите кататься, и я поищу занятия.",
    "placeholder": "Напишите свой вопрос…",
    "send": "Отправить",
    "close": "Закрыть",
    "restart": "Новый разговор",
    "notice": "ИИ может ошибаться. Ваши сообщения отправляются компании Anthropic, чтобы подготовить ответ, мы их не сохраняем. Не указывайте конфиденциальные данные.",
    "noticeLink": "Конфиденциальность",
    "contactLink": "Контакты",
    "thinking": "Думаю…",
    "searching": "Ищу занятия…",
    "reading": "Проверяю сайт…",
    "seeAll": "Показать все результаты ({total})",
    "errorLimit": "Слишком много вопросов за короткое время. Подождите несколько минут и попробуйте снова.",
    "errorLimitDay": "Вы достигли дневного лимита вопросов. Продолжить можно будет через {count} часов.",
    "errorLimitDay_one": "Вы достигли дневного лимита вопросов. Продолжить можно будет через {count} час.",
    "errorLimitDay_few": "Вы достигли дневного лимита вопросов. Продолжить можно будет через {count} часа.",
    "errorBusy": "Ассистент сейчас недоступен. Вы можете написать нам:",
    "errorFailed": "Что-то пошло не так, ответить не получилось. Попробуйте ещё раз чуть позже.",
    "errorRefused": "С этим я помочь не могу. Если вопрос об Alpine Pal, попробуйте сформулировать его иначе.",
    "errorCut": "Соединение прервалось, и ответ получился неполным. Спросите ещё раз.",
    "errorTruncated": "Мой ответ оборвался. Попросите более короткую версию.",
    "suggestFind": "Ищу инструктора на курорте Zermatt",
    "suggestSignUp": "Как зарегистрироваться?",
    "suggestCancel": "Можно ли отменить бронирование?",
    "suggestHours": "Где задать свои часы?",
    "suggestPayout": "Как получать выплаты?",
    "suggestPrices": "Где изменить цены?",
    "suggestAddInstructors": "Как добавить своих инструкторов?"
  }
}
