/** ru — batch 2. Filled by the translation pass. */ const ruBatch2 = { "mapUi": { "mapFooter": { "links": "Ссылки", "hide": "Скрыть панель ссылок карты" }, "findingSpots": "Поиск спотов", "loadingSpots": "Загрузка спотов", "loadingMap": "Загрузка карты...", "mapViewAria": "Вид карты", "listViewAria": "Вид списка", "layers": "Слои", "mapLayers": "Слои карты", "showOnMap": "Показать на карте", "showResults": "Показать результаты", "quickActions": "Быстрые действия", "spots": "Споты", "shops": "Магазины", "gear": "Снаряжение", "tours": "Туры", "events": "События", "crews": "Crew", "spotType": "Тип спота", "sortBy": "Сортировка", "trustLevel": "Уровень доверия", "weather": "Погода", "buySellGear": "Купить/продать снаряжение", "stash": "Stash", "more": "Ещё", "newHere": "Впервые здесь?", "welcomeDesc": "Откройте для себя споты, события и сообщество.", "getOnZapstore": "Установить из Zapstore", "dismiss": "Закрыть", "addedBy": "Добавил", "directions": "Маршрут", "viewDetails": "Подробнее", "viewDetailsArrow": "Подробнее →", "spotDetails": "О споте", "skateShop": "Скейт-магазин", "skateSpot": "Скейт-спот", "youAreHere": "Вы здесь", "conditions": "Условия", "weatherScoreSuffix": "{{score}}/100 погода", "wind": "Ветер", "humidity": "Влажность", "airQuality": "Качество воздуха", "threeDayForecast": "Прогноз на 3 дня", "gearForSale": "Снаряжение на продажу ({{count}})", "viewItems": "Смотреть товары →", "viewAllItems": "Смотреть все товары ({{count}}) →", "viewGear": "Смотреть снаряжение →", "localTour": "Местный тур", "meetAt": "Встреча: {{place}}", "hours": "{{count}} ч", "level": "{{level}} уровень", "viewTour": "Смотреть тур →", "upcomingEvent": "Скоро событие", "viewEvent": "Смотреть событие →", "skateCrew": "Skate Crew", "members": "{{count}} участников", "since": "С {{year}} года", "viewCrew": "Смотреть Crew →", "acceptsBitcoin": "Принимает Bitcoin", "boosted": "Продвигается", "website": "Сайт", "offlineSavedSpots": "Офлайн · показаны сохранённые споты", "cantReachRelays": "Не удаётся связаться с Relay", "relayOnlineNoAnswer": "Вы онлайн, но сообщественный Relay сейчас не отвечает.", "youreOffline": "Вы офлайн.", "savedOnDevice": "Споты, которые вы уже видели, сохранены на этом устройстве и появятся здесь.", "noSpotsMatchTitle": "Нет подходящих спотов", "noSpotsMatchDesc": "Попробуйте другой запрос или сбросьте фильтры.", "noSpotsMappedYet": "Спотов на карте пока нет", "noSpotsMappedDesc": "Будьте первым, кто нанесёт свой Park на карту — это займёт минуту, он ваш, а следующий проезжающий скейтер скажет вам спасибо.", "addFirstSpot": "Добавить первый спот", "findSpotsNearMe": "Найти споты рядом", "locating": "Определяем местоположение…", "refiningLocation": "Уточняем местоположение…", "refiningLocationDesc": "Центрируемся на последнем споте — получаем свежий GPS-сигнал.", "locatingYou": "Ищем вас…", "locatingDesc": "Получаем GPS-сигнал. В первый раз это может занять до минуты.", "foundYou": "Вы найдены", "foundYouDesc": "Карта отцентрирована по вашему местоположению.", "locationPermissionNeeded": "Нужно разрешение на геолокацию", "permissionNeededDesc": "Разрешите геолокацию для SkateSpots в настройках устройства: Настройки → Приложения → SkateSpots → Разрешения, затем снова нажмите «Рядом».", "locationTimedOut": "Время ожидания геолокации истекло", "timeoutNativeDesc": "Не удалось получить местоположение вовремя. Если вы в помещении, GPS не видит спутники — включите определение по сети (Настройки → Геолокация) или выйдите на улицу и попробуйте снова.", "timeoutWebDesc": "Не удалось определить ваше местоположение вовремя. Проверьте сигнал и попробуйте ещё раз.", "noLocationProvider": "Нет источника геолокации", "noProviderNativeDesc": "Ваш телефон не предоставляет геолокацию. На приватных прошивках (например, GrapheneOS) включите определение по сети в разделе Настройки → Геолокация или убедитесь, что GPS включён, и попробуйте на улице.", "noProviderWebDesc": "Источник геолокации недоступен. Включите службы геолокации и попробуйте снова.", "locationUnavailable": "Геолокация недоступна", "unavailableNativeDesc": "Включите геолокацию/GPS в настройках телефона, разрешите доступ для SkateSpots (Настройки → Приложения → SkateSpots → Разрешения) и попробуйте снова.", "unavailableWebDesc": "Не удалось определить ваше местоположение. Убедитесь, что службы геолокации включены.", "locationBlocked": "Геолокация заблокирована", "locationBlockedDesc": "Ваш браузер заблокировал доступ к геолокации для этого сайта. Вот как снова его включить:", "locationPlatformAndroid": "Android Chrome", "locationPlatformIos": "iOS Safari", "locationPlatformDesktop": "Chrome на компьютере", "locationPlatformFirefox": "Firefox", "locationStepsAndroid": "Нажмите значок замка в адресной строке → Настройки сайта → Геолокация → Разрешить", "locationStepsIos": "Приложение Настройки → Safari → Геолокация → Разрешить (или нажмите кнопку «AA» в адресной строке Safari)", "locationStepsDesktop": "Нажмите значок замка → Настройки сайта → Геолокация → Разрешить", "locationStepsFirefox": "Нажмите значок замка → Соединение защищено → Подробнее → Разрешения → Доступ к вашему местоположению → Разрешить", "gotIt": "Понятно", "addSpot": "Добавить спот", "addShop": "Добавить магазин", "addEvent": "Добавить событие", "addSpotHereTitle": "Добавить спот здесь?", "addSpotHereDesc": "Поставьте метку там, где вы нажали", "sellGear": "Продать снаряжение", "offerTour": "Предложить тур", "closeAddMenu": "Закрыть меню добавления", "addMenuAria": "Добавить спот, магазин, событие, снаряжение или тур", "localChat": "Местный чат", "localChatDesc": "Живой чат для того места, где сейчас центр карты. Выберите, насколько широко охватывает канал.", "btcMapShowing": "Показано мест: {{count}} — где можно потратить ваши sats рядом", "btcMapShow": "Показать места, где можно потратить ваши sats (через BTC Map)", "yourPrivateStash": "Ваш приватный Stash", "stashIntro": "Отслеживайте снаряжение, ставьте цены и находите обмены с другими скейтерами.", "encryptionRequired": "Требуется шифрование", "encryptionRequiredDesc": "Используйте подписант с поддержкой NIP-44 (Alby, nos2x, Amber).", "myStash": "Мой Stash", "encrypted": "Зашифровано", "itemsCount": "{{count}} предметов", "items": "Предметы", "wishlist": "Список желаний", "types": "Типы", "stashEmpty": "Ваш Stash пуст", "addFirstItem": "Добавить первый предмет", "wishlistCount": "Список желаний ({{count}})", "myGearCount": "Моё снаряжение ({{count}})", "openFullStash": "Открыть весь Stash", "addItem": "Добавить предмет", "searchSpotsPlaceholder": "Поиск спотов...", "selected": "Выбрано", "noSpotsFound": "Спотов не найдено. Попробуйте другой запрос.", "addingSpotsHint": "Добавление спотов помогает людям находить вас при просмотре конкретных мест", "report": "Пожаловаться", "spotSingular": "1 спот", "spotPlural": "{{count}} спотов", "view": "Смотреть", "myCollections": "Мои коллекции", "collectionsSubtitle": "Организуйте любимые споты в персональные списки", "newCollection": "Новая коллекция", "loginToCreate": "Войдите, чтобы создавать коллекции", "loginToCreateDesc": "Сохраняйте любимые споты в персональные списки, например «Поездка в Барселону 2024» или «Лучшие Rail в LA»", "noCollections": "Коллекций пока нет", "noCollectionsDesc": "Создайте первую коллекцию, чтобы начать организовывать споты", "createFirstCollection": "Создать первую коллекцию", "createNewCollection": "Создать новую коллекцию", "createCollectionDesc": "Дайте коллекции название и, при желании, описание", "collectionName": "Название коллекции", "collectionNamePlaceholder": "Поездка в Барселону 2024", "descriptionOptional": "Описание (необязательно)", "descriptionPlaceholder": "Мои любимые споты из поездки в Барселону...", "creating": "Создание...", "createCollection": "Создать коллекцию", "editCollection": "Изменить коллекцию", "saving": "Сохранение...", "saveChanges": "Сохранить изменения", "deleteCollectionTitle": "Удалить коллекцию?", "deleteCollectionDesc": "«{{title}}» будет удалена навсегда. Сами споты не пострадают.", "deleting": "Удаление...", "collectionCreated": "Коллекция создана!", "collectionCreatedDesc": "«{{title}}» готова к добавлению спотов", "collectionCreateFailed": "Не удалось создать коллекцию", "collectionUpdated": "Коллекция обновлена!", "changesSaved": "Ваши изменения сохранены", "collectionUpdateFailed": "Не удалось обновить коллекцию", "collectionDeleted": "Коллекция удалена", "collectionDeletedDesc": "«{{title}}» удалена", "collectionDeleteFailed": "Не удалось удалить коллекцию", "somethingWentWrong": "Что-то пошло не так" }, "mapPage": { "title": "Магазины и споты", "spots": "Споты", "shops": "Магазины", "filters": "Фильтры", "listView": "Список", "mapView": "Карта", "nearMe": "Рядом", "searchPlaceholder": "Поиск спотов...", "noSpotsInArea": "В этой области нет спотов", "zoomIn": "Приблизить", "zoomOut": "Отдалить", "myLocation": "Моё местоположение", "locationsFound": "Найдено мест: {{count}}", "spotsOnly": "Только споты", "shopsOnly": "Только магазины", "spotsAndShops": "Споты и магазины", "noSpotsMatch": "Ни один спот не подходит под фильтры.", "noSpotsYet": "Споты ещё не добавлены.", "addFirstSpot": "Добавить первый спот" }, "spotUi": { "claim": { "areYouOwner": "Это ваш спот?", "privateDesc": "Этот спот отмечен как приватный. Если он принадлежит вам или вы им управляете, заявите права — модератор SkateSpots подтвердит владение, и вы возьмёте объявление под контроль.", "claimSpot": "Заявить права на этот спот", "nip05Required": "Чтобы заявить права на приватный спот, нужен подтверждённый NIP-05 (доказательство, что вы контролируете идентичность в Nostr). Добавьте его в профиле и возвращайтесь.", "addNip05": "Добавить NIP-05 в настройках", "pendingTitle": "Заявка на рассмотрении", "pendingDesc": "Ваша заявка отправлена. Модератор SkateSpots её рассмотрит — завершить заявление прав можно после одобрения.", "approvedTitle": "Заявка одобрена", "approvedDesc": "Модератор одобрил вашу заявку. Завершите, чтобы стать владельцем этого спота.", "complete": "Завершить заявление прав", "submitted": "Заявка отправлена", "submittedDesc": "Модератор рассмотрит вашу заявку. Вы возьмёте спот под контроль после одобрения.", "submitFailed": "Не удалось отправить заявку", "submit": "Отправить заявку", "submitting": "Отправка…", "confirmTitle": "Заявить права на «{{title}}»?", "confirmIntro": "Вы просите сделать вас владельцем этого приватного спота.", "confirmBullet1": "Модератор SkateSpots рассматривает запрос (мы не можем проверить собственность, только ключи Nostr)", "confirmBullet2": "При одобрении вы завершаете заявление и становитесь владельцем с правом редактировать спот", "confirmBullet3": "Исходный спот остаётся в Nostr — сеть децентрализована", "adminTitle": "Ожидающие заявки на владение", "adminApprove": "Одобрить", "adminApproved": "Одобрено", "adminApprovedDesc": "Теперь они могут завершить заявление прав на спот.", "adminApproveFailed": "Не удалось одобрить заявку", "loginRequired": "Войдите, чтобы заявить права на этот приватный спот или запросить владение." }, "abandonedDesc": "Последнее обновление {{time}}. Если исходный владелец неактивен, вы можете заявить права на этот спот, чтобы поддерживать и улучшать его.", "claimedNotice": "Заявленное объявление", "claimedNoticeDesc": "Этот спот был опубликован заново новым владельцем после заявки. Исходное объявление может по-прежнему существовать отдельно.", "abandonedLoginDesc": "Последнее обновление {{time}}. Войдите, чтобы заявить права и поддерживать этот спот.", "accessDeniedDesc": "Вы можете редактировать только созданные вами споты.", "accessDeniedTitle": "Доступ запрещён", "addAtLeastOneTag": "Добавьте хотя бы один тег.", "additionalDetails": "Дополнительные детали (необязательно)", "additionalDetailsPlaceholder": "Добавьте любой дополнительный контекст, который может помочь...", "addNewTags": "Добавить новые теги:", "addNip05InSettings": "Добавить NIP-05 в настройках", "addPhoto": "Добавить фото", "addPhotoDesc": "Добавьте фото, чтобы помочь другим найти этот спот.", "addPhotoOrDescription": "Добавьте фото или описание", "addPhotoOrDescriptionDesc": "Дайте скейтерам за что зацепиться — фото или пару слов о месте.", "addPhotos": "Добавить фото", "addPhotoToSpot": "Добавить фото к споту", "adminDeleteDialogDesc": "Как администратор SkateSpots вы удаляете «{{title}}». Он будет скрыт во всём приложении для всех, а на Relay отправится запрос на удаление.", "adminDeleteReason": "Администратор SkateSpots удалил спот «{{title}}»", "airQuality": "Качество воздуха", "altSkateSpot": "Скейт-спот: {{title}}", "areYouShopOwner": "Вы владелец магазина?", "askBeforeSkating": "Спросите перед катанием", "backToSpot": "Назад к споту", "beFirstToListGear": "Станьте первым, кто выставит снаряжение в этом споте!", "beFirstToSay": "Будьте первым, кто что-то скажет.", "byAuthor": "от {{name}}", "captionPlaceholder": "Добавьте подпись (необязательно) — опишите, что на фото, когда оно сделано и т. д.", "chatPublicNote": "Это может прочитать любой — сообщения публичны и эфемерны. Для приватных чатов используйте личные сообщения.", "checkPinBelow": "Проверьте метку ниже, прежде чем добавлять дубликат.", "claimBullet1": "Вы становитесь владельцем и можете редактировать спот", "claimBullet2": "Исходный спот остаётся (Nostr децентрализован)", "claimBullet3": "Ваша версия может отображаться рядом с исходной", "claimFailed": "Не удалось заявить права", "claiming": "Заявляем права...", "claimIntro": "Вы собираетесь заявить права на этот спот. Будет создана ваша собственная версия спота, которую вы сможете редактировать и поддерживать.", "claimSpot": "Заявить права на спот", "claimThisSpot": "Заявить права на этот спот", "claimTitle": "Заявить права на «{{title}}»?", "claimWhatHappens": "Что происходит при заявке прав:", "coachesAndFilmersAvailable": "В этом споте доступны тренеры и Filmer'ы", "coachesCount": "Тренеры ({{count}})", "coachHere": "Тренер здесь", "community": "Сообщество", "communityVerified": "Подтверждено сообществом", "communityVerifiedTitle": "Другой скейтер уже внёс вклад здесь (фото или отчёт о состоянии).", "conditions": "Условия", "contactForPermission": "Связаться для разрешения", "contactInfo": "Контактная информация", "contributePhoto": "Добавить фото", "contributing": "Добавляем...", "couldNotSendMessage": "Не удалось отправить сообщение.", "couldNotSubmit": "Не удалось отправить", "couldNotUploadPhoto": "Не удалось загрузить фото. Вы можете добавить его ниже.", "crewsThatSkateHere": "Crew, которые катаются здесь", "current": "Текущее:", "currentTags": "Текущие теги этого спота:", "daysAgo": "{{count}} день назад", "daysAgoPlural": "{{count}} дней назад", "deleteDialogDesc": "«{{title}}» будет навсегда удалён со всех Relay. Это действие нельзя отменить.", "deletedSpotReason": "Удалённый спот", "deleteFailed": "Не удалось удалить", "deleteSpot": "Удалить спот", "deleteSpotTitle": "Удалить спот?", "differentSpotPublishAnyway": "Это другой спот — всё равно опубликовать", "dragDropOrClick": "Перетащите или нажмите", "dropPhotos": "Перетащите фото", "duplicateOne": "В пределах 60 м от вашей метки есть спот. Если это то же место, добавьте туда фото или отчёт о состоянии вместо создания дубликата.", "duplicateOther": "В пределах 60 м от вашей метки есть споты. Если это то же место, добавьте туда фото или отчёт о состоянии вместо создания дубликата.", "editSpotSeoDesc": "Отредактируйте свой скейт-спот.", "failedToContribute": "Не удалось добавить", "failedToPublish": "Не удалось опубликовать", "failedToPublishDesc": "Что-то пошло не так. Подробности в консоли.", "failedToSubmitReport": "Не удалось отправить жалобу", "failedToSuggestTags": "Не удалось предложить теги", "failedToUpdate": "Не удалось обновить", "failedToUploadImage": "Не удалось загрузить изображение", "failedToUploadPhoto": "Не удалось загрузить фото", "feelsLikeTemp": "Ощущается как {{temp}}°C", "filmersCount": "Filmer'ы ({{count}})", "filmHere": "Снимать здесь", "gearSwap": "Обмен снаряжением", "geolocationNotSupported": "Геолокация не поддерживается", "geolocationNotSupportedDesc": "Ваш браузер не поддерживает геолокацию.", "getDirections": "Проложить маршрут", "hangTight": "Подождите немного", "hangTightDesc": "Ваше фото всё ещё загружается. Оно прикрепится через секунду.", "helpImproveSpot": "Помогите улучшить этот спот — добавьте фото или предложите теги", "hiddenByModerator": "Скрыто модератором", "hiddenByModeratorDesc": "Этот спот не показывается на карте и в поиске. Вы всё ещё видите его, потому что он ваш. Редактирование не снимет скрытие — он останется скрытым, пока модератор не отменит решение.", "humidity": "Влажность", "imageUploaded": "Изображение загружено", "imageUploadedDesc": "Ваше изображение успешно загружено.", "imHere": "Я здесь", "invalidCoordinates": "Неверные координаты", "invalidCoordinatesDesc": "Введите корректную широту (−90…90) и долготу (−180…180).", "invalidNpub": "Неверный npub", "invalidNpubDesc": "Введите корректный адрес npub.", "lastReported": "последний раз {{time}}", "listGear": "Выставить снаряжение", "listYourGearHere": "Выставьте снаряжение здесь", "loadingChat": "Загружаем чат…", "locationError": "Ошибка геолокации", "locationFound": "Местоположение найдено", "locationFoundDesc": "Ваше текущее местоположение установлено.", "locationRequired": "Требуется местоположение", "locationRequiredDesc": "Введите координаты или используйте текущее местоположение.", "loginRequiredTitle": "Требуется вход", "logInToChat": "Войдите, чтобы присоединиться к местному чату.", "logInToContributePhotos": "Войдите, чтобы добавлять фото", "loginToEditSpot": "Чтобы отредактировать этот спот, нужно войти.", "logInToReport": "Чтобы пожаловаться на контент, нужно войти.", "logInToReportStatus": "Войдите, чтобы сообщить о состоянии этого спота.", "logInToSuggestTags": "Войдите, чтобы предлагать теги", "manageNip05ToClaim": "Управляйте NIP-05 для заявки прав", "meetAtSpotForPickup": "💡 Встречайтесь в этом споте для безопасной передачи", "memberOne": "{{count}} участник", "memberOther": "{{count}} участников", "messageFailed": "Сообщение не отправлено", "messageMapper": "Картограф сообщений", "messagePlaceholder": "Написать в этот спот… (попробуйте /me или /who)", "messagesHiddenOne": "{{count}} сообщение скрыто вашим фильтром доверия. Ослабьте фильтр, чтобы увидеть больше.", "messagesHiddenOther": "{{count}} сообщений скрыто вашим фильтром доверия. Ослабьте фильтр, чтобы увидеть больше.", "messagesHiddenShortOne": "{{count}} сообщение скрыто вашим фильтром доверия", "messagesHiddenShortOther": "{{count}} сообщений скрыто вашим фильтром доверия", "metresAway": "{{distance}} м отсюда", "moderatorVouchedDesc": "Модератор проверил этот спот и поручился за него. Отлично.", "monthsAgo": "{{count}} месяц назад", "monthsAgoPlural": "{{count}} месяцев назад", "newOwnerNpub": "npub нового владельца", "newOwnerNpubHint": "Введите npub пользователя, которому хотите передать этот спот.", "nip05RequiredToClaim": "⚠️ Для заявки прав на магазины требуется верификация NIP-05", "noCommunitySignalTitle": "Пока нет ни фото от сообщества, ни отчёта о состоянии — никто не подтвердил это место.", "breakdownPhotos": "{{count}} фото", "breakdownStatus": "{{count}} отчёт(ов) о состоянии", "breakdownComments": "{{count}} комментариев", "breakdownReactions": "{{count}} реакций", "breakdownCollections": "{{count}} сохранений", "breakdownZaps": "{{count}} Zap", "breakdownTags": "{{count}} предложенных тегов", "breakdownCrews": "{{count}} Crew", "breakdownLab": "{{count}} проф. ссылок", "verifyNudgeTitle": "Будьте первым, кто подтвердит этот спот", "verifyNudgeBody": "Фото или отметка «Я здесь катался» — так спот получает подтверждение. Помогите следующему скейтеру.", "verifyNudgeStatus": "Я здесь катался", "communityChip": "Сообщество", "seenChip": "Видели", "noGearListedYet": "Снаряжение пока не выставлено", "noMessagesYet": "В этом местном канале пока нет сообщений. Поздоровайтесь — «кто-нибудь катает сегодня вечером?»", "noPhoto": "Нет фото", "noReportsYet": "Отчётов пока нет", "noTags": "Нет тегов", "notASkateSpot": "Не скейт-спот", "offerServicesHere": "💡 Предложите свои услуги в этом споте", "photoCaptured": "Фото сделано!", "photoCapturedDesc": "Ваше фото успешно загружено.", "photoContributed": "Фото добавлено!", "photoContributedDesc": "Ваше фото добавлено к этому споту.", "photosAdded": "Ваши фото добавлены.", "photosRecommended": "настоятельно рекомендуется — споты без фото остаются помеченными как Непроверенные", "photosUploaded": "Загружено фото: {{count}}", "photoUploaded": "Фото загружено", "photoUploadedDesc": "Добавьте подпись и отправьте, чтобы добавить фото!", "photoUploadFailed": "Не удалось загрузить фото", "pleaseTryAgain": "Попробуйте ещё раз", "public": "Публичный", "publicChatTitle": "Любой может читать сообщения в этом канале — он публичный и незашифрованный.", "recentReports": "Недавние жалобы", "recipientRequired": "Требуется получатель", "recipientRequiredDesc": "Введите npub нового владельца.", "removeAdmin": "Удалить (админ)", "removeSpot": "Удалить спот", "removeSpotAdminTitle": "Удалить этот спот? (админ)", "reportOne": "жалоба", "reportContent": "Пожаловаться на контент", "reportContentDesc": "Помогите сохранить сообщество в безопасности, сообщая о неподобающем контенте.", "reportedBySkaters": " от {{count}} скейтеров — на рассмотрении. Если это реальный спот, добавьте фото или отчёт о состоянии, чтобы подтвердить его.", "reportedNotASpot": "Отмечено как не скейт-спот", "reportingType": "Жалоба на {{type}}", "reports": "жалоб", "reportShop": "Пожаловаться на магазин", "reportSpot": "Пожаловаться на спот", "reportStatus": "Сообщить о состоянии", "reportSubmitted": "Жалоба отправлена", "reportSubmittedDesc": "Спасибо, что помогаете сохранять SkateSpots в безопасности.", "reportSubmittedLong": "Спасибо, что помогаете сохранять SkateSpots в безопасности и точности. Вашу жалобу рассмотрят доверенные участники сообщества.", "reportSubmittedTitle": "Жалоба отправлена", "report": { "notASkateSpot": { "label": "Не скейт-спот", "description": "Тестовая запись или место, вовсе не предназначенное для катания" }, "fakeSpot": { "label": "Фальшивый/несуществующий спот", "description": "Этот спот не существует или местоположение неверно" }, "stolenPhotos": { "label": "Украденные/фальшивые фото", "description": "Фото — стоковые изображения или украдены откуда-то" }, "spamAd": { "label": "Спам или реклама", "description": "Промо-контент или дублирующиеся объявления" }, "dangerousLocation": { "label": "Опасное место", "description": "Частная территория, небезопасный или незаконный доступ" }, "inappropriateContent": { "label": "Неподобающий контент", "description": "Содержит оскорбительный контент или контент для взрослых" }, "impersonation": { "label": "Выдача себя за другого", "description": "Кто-то выдаёт себя за другого человека" }, "other": { "label": "Другое", "description": "Что-то ещё, не указанное выше" } }, "targetType": { "spot": "Спот", "event": "Событие", "tour": "Тур", "shop": "Магазин", "user": "Пользователь", "listing": "Объявление", "coach": "Тренер", "filmer": "Filmer" }, "sameOwner": "Тот же владелец", "sameOwnerDesc": "Нельзя передать текущему владельцу.", "saveChanges": "Сохранить изменения", "saving": "Сохранение...", "services": "Услуги", "shareSpotText": "Зацените этот скейт-спот: {{title}}", "shelter": "Укрытие", "shelterHint": "Этот спот открыт погоде? Помогает скейтерам находить сухие места в дождь.", "shopClaimDesc": "Если магазин принадлежит вам или вы им управляете, вы можете заявить права, чтобы подтвердить владение и управлять объявлением.", "shopClaimNip05Hint": "Чтобы заявить права на магазин, добавьте NIP-05, совпадающий с доменом сайта магазина.", "skatersActiveDesc": "Люди, писавшие в этот канал за последние 24 ч.", "skatersActiveOne": "{{count}} скейтер активен здесь", "skatersActiveOther": "{{count}} скейтеров активны здесь", "skatersSellingGear": "Скейтеры в этом споте продают снаряжение", "skateSpot": "Скейт-спот", "somethingWentWrong": "Что-то пошло не так", "spot": "Спот", "spotAdded": "Спот добавлен!", "spotAddedDesc": "Ваш скейт-спот опубликован в сети.", "spotAddedNoPhoto": "Опубликовано — и помечено как Непроверенное, пока кто-нибудь не добавит фото. Фото спота очень помогает.", "spotChat": "Чат спота", "spotClaimed": "Права на спот заявлены!", "spotClaimedDesc": "Теперь вы владелец этого спота. Редактировать его можно из профиля.", "spotDeleted": "Спот удалён", "spotDeletedDesc": "Запрос на удаление отправлен на Relay. Большинство Relay удалят этот контент.", "spotMayAlreadyBeOnMap": "Этот спот, возможно, уже есть на карте", "spotMayAlreadyExist": "Этот спот, возможно, уже существует", "spotMayBeAbandoned": "Спот, возможно, заброшен", "spotPhotoAlt": "Спот", "spotRemoved": "Спот удалён", "spotRemovedDesc": "Этот спот убран и будет скрыт во всём SkateSpots.", "spotSeoDesc": "Посмотрите этот скейт-спот в SkateSpots.", "spotStatus": "Состояние спота", "spotStatusDesc": "«{{title}}» всё ещё пригоден для катания? Сообщите сообществу о его текущем состоянии.", "spotTypeRequired": "Требуется тип спота", "spotTypeRequiredDesc": "Выберите тип спота, чтобы скейтеры знали, что их ждёт.", "spotUpdated": "Спот обновлён!", "spotUpdatedDesc": "Ваши изменения опубликованы в сети.", "staffVerifiedTitle": "Администратор SkateSpots проверил этот спот и поручился за него.", "statusNotePlaceholder": "Необязательно: добавьте детали (например, «на Ledge новые болты», «охрана выгоняет после 18:00»)", "statusReported": "Состояние сообщено", "statusReportedDesc": "Спасибо, что поддерживаете карту актуальной. Ваш отчёт опубликован.", "submitReport": "Отправить жалобу", "submitting": "Отправка...", "suggestedByUser": "Предложено {{count}} пользователем", "suggestedByUsers": "Предложено {{count}} пользователями", "suggestedTagsContent": "Предложенные теги для {{title}}: {{tags}}", "suggestNTags": "Предложить теги ({{count}})", "suggestOneTag": "Предложить 1 тег", "suggestTags": "Предложить теги", "suggestTagsDesc": "Помогите классифицировать этот спот, предложив подходящие теги.", "tags": "Теги", "tagsHint": "Добавляйте теги для особенностей, покрытий, атмосферы (макс. {{max}})", "tagsSuggested": "Теги предложены!", "tagsSuggestedDesc": "Ваши предложенные теги отправлены.", "takePhoto": "Сделать фото", "threeDayForecast": "Прогноз на 3 дня", "tipTheMapper": "Отблагодарить автора", "tipTheMapperDesc": "Спот оказался полезным? Отправьте Zap в благодарность автору!", "titleRequired": "Требуется название", "titleRequiredDesc": "Введите название этого спота.", "today": "Сегодня", "tomorrow": "Завтра", "transferDesc": "Передать «{{title}}» другому пользователю. Это действие нельзя отменить.", "transferFailed": "Не удалось передать", "transferOwnership": "Передать владение", "transferRequestContent": "Запрос на передачу владения спотом «{{title}}»", "transferRequested": "Передача запрошена", "transferRequestedDesc": "Новому владельцу нужно заявить права на спот, чтобы завершить передачу.", "transferring": "Передача...", "transferSpotOwnership": "Передать владение спотом", "transferWarningDesc": "После передачи вы больше не сможете редактировать или удалять этот спот.", "typeToSearchTags": "Введите для поиска или добавления тегов...", "underReview": " — на рассмотрении. Если это реальный спот, добавьте фото или отчёт о состоянии, чтобы подтвердить его.", "untitledSpot": "Спот без названия", "unverified": "Непроверено", "updateDetailsFor": "Обновите детали для {{title}}", "updateSpotDesc": "Обновите информацию об этом споте. Все поля со звёздочкой * обязательны.", "uploadAPhoto": "Загрузить фото", "uploadAPhotoHint": "Перетащите или нажмите · JPG, PNG, WebP", "uploadedAlt": "Загружено", "uploadFailed": "Не удалось загрузить", "uploadingPhoto": "Загружаем фото…", "uploadPhotoFirst": "Сначала загрузите фото.", "uvIndex": "УФ-индекс", "verifiedBySkateSpots": "Подтверждено SkateSpots", "viewPhotoFullScreen": "Смотреть фото на весь экран", "viewPhotoOf": "Фото {{n}} из {{total}}", "warning": "Внимание", "weatherConditions": "Погодные условия", "weatherOnly": "только погода", "weatherOnlyUnconfirmed": "Только погода. Никто пока не подтвердил, что это скейт-спот, поэтому оценки условий нет — добавьте фото или отчёт о состоянии, чтобы подтвердить его.", "whyReporting": "Почему вы жалуетесь на это?", "wind": "Ветер", "yearsAgo": "{{count}} год назад", "yearsAgoPlural": "{{count}} лет назад" }, "diyUi": { "title": "DIY — сделай сам", "tagline": "Руководства, открытые инструменты и чертежи, чтобы сделать свои Deck, рампы и бетонные споты — а затем найти людей, места и рынок для этого.", "doItWithPeople": "Делайте это вместе с людьми", "backToDiy": "Назад в DIY", "calc": { "title": "Калькулятор стоимости Deck", "intro": "Сколько стоит сделать Deck — труд, оборудование, материалы, время обработки, упаковка и маржа — и справедливая цена продажи. Сохраняется на этом устройстве." }, "designer": { "title": "Дизайнер Deck", "intro": "Задайте контур скейтборда или лонгборда, затем экспортируйте шаблон 1:1 для печати, SVG или DXF для ЧПУ. Сохраняется на этом устройстве.", "presets": "Пресеты", "dimensions": "Размеры", "shape": "Форма", "kicks": "Загибы", "hardware": "Отверстия для Trucks", "width": "Макс. ширина", "wheelbase": "База (wheelbase)", "nose": "Длина носа", "tail": "Длина тэйла", "length": "Общая длина", "waist": "Талия", "endRound": "Скругление концов", "concave": "Конкейв", "thickness": "Толщина", "tailKick": "Загиб тэйла", "noseKick": "Загиб носа", "holeNew": "New school (2.125″)", "holeOld": "Old school (2.5″)", "holeSpacing": "New school — 2.125″ × 1.625″ (54 × 41 мм); old school — 2.5″ × 1.625″. Монтажные отверстия 3/16″.", "topView": "Вид сверху", "sideView": "Вид сбоку", "concaveSection": "Сечение конкейва", "export": "Экспорт", "pdfA4": "1:1 PDF · A4", "pdfLetter": "1:1 PDF · Letter", "printNote": "Печатайте PDF при 100% (без «по размеру страницы»), затем склейте листы по угловым крестикам. SVG тоже в натуральную величину.", "note": "Это 2D-контур, который вы обводите и вырезаете. Для полноценных 3D-форм и проектирования пресс-форм всё же нужен настоящий CAD-инструмент." }, "source": "Источник", "comingSoon": "Скоро", "footer": "Пошаговые руководства уже в пути. Пока: найдите тех, кто строит, в The Lab, нанесите свой спот на карту и покупайте или продавайте в Marketplace. Работайте безопасно — защита, перчатки и очки.", "categories": { "boards": "Доски", "ramps": "Рампы и деревянные препятствия", "concrete": "Бетон и DIY-споты", "repairs": "Ремонт и настройка", "tools": "Инструменты и чертежи" }, "cards": { "ossBuild": { "title": "Собрать скейтборд", "blurb": "Пошаговое изготовление Deck — шпон, пресс-формы, прессы и отделка." }, "sk8cad": { "title": "SK8CAD", "blurb": "Открытый CAD для форм Deck, конкейва и проектирования пресс-форм." }, "deckCost": { "title": "Стоимость Deck и цена", "blurb": "Рассчитайте материалы, труд и справедливую цену продажи перед изготовлением." }, "deckDesigner": { "title": "Дизайнер Deck", "blurb": "Задайте контур и распечатайте шаблон 1:1 — или экспортируйте SVG/DXF для ЧПУ." }, "ledgeBox": { "title": "Собрать Ledge или бокс", "blurb": "Деревянное препятствие для новичков, которое можно собрать за выходные." }, "quarterpipe": { "title": "Собрать квотерпайп", "blurb": "Чертежи рампы, transition и копинг для мини во дворе." }, "flatbar": { "title": "Собрать flatbar", "blurb": "Дешёвый, портативный и лучший способ учиться катать Rail." }, "concreteBasics": { "title": "Основы бетона", "blurb": "Замес, опалубка и отделка прочного Ledge или банки." }, "coping": { "title": "Копинг и края", "blurb": "Как установить копинг и отделать transition для гладкого грайнда." }, "buyParts": { "title": "Купить детали и снаряжение", "blurb": "Купите Deck, комплектующие и инструменты у продавцов в Marketplace." }, "mapSpot": { "title": "Нанесите свой DIY-спот на карту", "blurb": "Что-то построили? Добавьте его на карту, чтобы другие нашли и покатали." }, "regrip": { "title": "Переклеить Griptape", "blurb": "Снимите старый Griptape и аккуратно наклейте новый." }, "tune": { "title": "Обслужить Bearings и Trucks", "blurb": "Почистите Bearings, поменяйте бушинги и настройте геометрию Trucks." }, "printMolds": { "title": "3D-печатные пресс-формы", "blurb": "Файлы пресс-форм и выравнивающих оснований для печати от сообщества." }, "sk8cadTools": { "title": "Инструменты для форм и выравнивания", "blurb": "Проектируйте пресс-формы со встроенными выравнивающими основаниями." } }, "actions": { "findBuilder": { "title": "Найти Builder'а", "blurb": "Строители рамп и DIY в The Lab, которые спроектируют или зальют всё для вас." }, "findCrew": { "title": "Найти DIY Crew", "blurb": "Crew, сосредоточенные на стройке — присоединяйтесь к тем, кто воплощает споты в реальность." }, "mapSpot": { "title": "Нанести DIY-спот на карту", "blurb": "Добавьте построенный вами спот, чтобы он жил на карте." }, "sellBuilds": { "title": "Продавайте свои работы", "blurb": "Выставляйте свои Deck, рампы или детали в Marketplace." }, "findCoach": { "title": "Найти тренера", "blurb": "Тренеры, обучающие DIY-модулям скейтбординга и строительству спотов." } } }, "labelsUi": { "spotCategory": { "street": { "label": "Street", "description": "Случайно найденные споты, городской рельеф" }, "transition": { "label": "Transition", "description": "Изогнутые/рамповые поверхности" }, "park": { "label": "Park", "description": "Построенные скейтпарки" }, "plaza": { "label": "Plaza", "description": "Городские площади (как MACBA, Love Park)" } }, "spotFeature": { "wallrides": "Wallrides", "stairs": "Лестницы и перила", "rails": "Rail", "ledges": "Ledge и бордюры", "gaps": "Gaps", "flatground": "Ровная земля", "manual-pads": "Manual Pads", "half-pipes": "Half Pipes", "quarter-pipes": "Quarter Pipes", "mini-ramps": "Mini Ramps", "bowls": "Bowl", "vert": "Vert Ramps", "mega-ramps": "Mega Ramps", "hubbas": "Hubbas", "euro-gaps": "Euro Gaps", "banks": "Банки", "spine-ramps": "Spine Ramps", "roll-ins": "Roll-ins", "hips": "Hips", "volcano": "Volcano", "pyramids": "Pyramids / Funboxes", "snake-runs": "Snake Runs", "pump-track": "Pump Track Rollers", "flat-bars": "Flat Bars" }, "spotType": { "street": "Street", "transition": "Transition", "park": "Park", "plaza": "Plaza", "wallrides": "Wallrides", "stairs": "Лестницы и перила", "rails": "Rail", "ledges": "Ledge и бордюры", "gaps": "Gaps", "flatground": "Ровная земля", "manual-pads": "Manual Pads", "half-pipes": "Half Pipes", "quarter-pipes": "Quarter Pipes", "mini-ramps": "Mini Ramps", "bowls": "Bowl", "vert": "Vert Ramps", "mega-ramps": "Mega Ramps", "hubbas": "Hubbas", "euro-gaps": "Euro Gaps", "banks": "Банки", "spine-ramps": "Spine Ramps", "roll-ins": "Roll-ins", "hips": "Hips", "volcano": "Volcano", "pyramids": "Pyramids / Funboxes", "snake-runs": "Snake Runs", "pump-track": "Pump Track Rollers", "flat-bars": "Flat Bars", "diy": "DIY", "rail": "Rail", "ledge": "Ledge", "gap": "Gap", "bowl": "Bowl", "stall": "Stall", "slappy": "Slappy" }, "access": { "public": { "label": "Публичный — открыт для всех" }, "private": { "label": "Частная территория — нужно разрешение" }, "locals": { "label": "Сначала спросите местных" } }, "shelter": { "outdoor": { "label": "На улице", "short": "На улице", "description": "Полностью открыто — дождь останавливает катание" }, "partial": { "label": "Частично укрыто", "short": "Частично укрыто", "description": "Часть препятствий остаётся сухой" }, "covered": { "label": "Под крышей", "short": "Под крышей", "description": "На улице, но под крышей" }, "indoor": { "label": "В помещении", "short": "В помещении", "description": "Полностью закрыто — катайте в дождь и в ясную погоду" } }, "eventType": { "contest": "Контест", "demo": "Демо", "session": "Сессия", "workshop": "Мастерская", "premiere": "Премьера", "tradeshow": "Выставка", "gameskate": "Game of Skate", "concert": "🎸 Концерт", "jam": "🎵 Джем", "festival": "🎪 Фестиваль", "popup": "🎯 Pop-Up" }, "gearCategory": { "deck": "Deck", "trucks": "Trucks", "wheels": "Wheels", "bearings": "Bearings", "shoes": "Скейт-обувь", "clothing": "Одежда", "protective": "Защита", "stickers": "Стикеры", "wax": "Воск", "tools": "Инструменты", "griptape": "Griptape", "rubbrick": "Rub Brick" }, "gearCondition": { "new": { "label": "Новое", "description": "Ни разу не использовалось, в упаковке" }, "like_new": { "label": "Как новое", "description": "Почти не использовалось, отличное состояние" }, "good": { "label": "Хорошее", "description": "Обычный износ, работает идеально" }, "well_used": { "label": "Сильно б/у", "description": "Есть износ, но всё ещё работает" } }, "priceType": { "fixed": { "label": "Фиксированная цена", "description": "Цена в USD или sats" }, "free": { "label": "Бесплатно", "description": "Отдаю даром" }, "trade": { "label": "Обмен", "description": "Хочу поменяться" }, "offer": { "label": "Предложить цену", "description": "Цена договорная" } }, "listingType": { "selling": { "label": "Продаю", "description": "Выставляю снаряжение на продажу" }, "wtb": { "label": "Куплю", "description": "Ищу конкретное снаряжение" } }, "tour": { "spotType": { "street": "Street", "park": "Park", "diy": "DIY", "transition": "Transition", "hidden": "Скрытые жемчужины" }, "category": { "local": { "label": "Местный тур", "description": "Показать скрытые споты в вашем городе" }, "national": { "label": "Тур по стране", "description": "Многогородные роад-трипы по стране" }, "international": { "label": "Международный тур", "description": "Приключения через границы нескольких стран" }, "destruction": { "label": "World Destruction", "description": "Глобальное командное соревнование в стиле KOTR" } } }, "crew": { "vibe": { "street": "Street", "transition": "Transition / Vert", "park": "Park", "diy": "DIY", "cruising": "Круиз / Съёмка", "oldschool": "Old School", "allterrain": "All Terrain", "girls": "Девушки / Женщины", "youth": "Юниоры / Громы", "adaptive": "Адаптивный", "punk": "Панк", "hiphop": "Рэп / Хип-хоп" }, "focus": { "mixed": "Смешанный / Общий", "builder": "DIY и строители", "photo": "Фото и видео", "coaching": "Тренировки", "art": "Арт и дизайн", "music": "Группа и музыка", "wellness": "Тренинг и физио" }, "focusDescription": { "mixed": "Обычный скейт-Crew — показывается только на странице Crew.", "builder": "Crew по DIY/строительству парков — также показывается в The Lab в разделе «Строители».", "photo": "Crew по съёмке, фотографии или монтажу — также показывается в The Lab в разделе «Фото и видео».", "coaching": "Crew по тренировкам/урокам — также показывается в The Lab в разделе «Тренировки».", "art": "Арт-, дизайн-, граффити- или тату-коллектив — также показывается в The Lab в разделе «Арт и дизайн».", "music": "Группа или музыкальный коллектив — также показывается в The Lab в разделе «Музыка».", "wellness": "Crew по тренировкам, фитнесу или физио — также показывается в The Lab в разделе «Тренинги»." }, "lookingFor": { "filmer": "Filmer", "photographer": "Фотограф", "editor": "Видеомонтажёр", "coach": "Тренер", "builder": "Строитель рамп", "artist": "Художник / дизайнер", "musician": "Музыкант / группа", "members": "Новые участники" }, "role": { "filmer": "Filmer", "photographer": "Фотограф", "editor": "Монтажёр", "coach": "Тренер", "builder": "Строитель", "artist": "Художник", "graffiti": "Граффити", "tattoo": "Тату", "trainer": "Тренер по физподготовке", "musician": "Музыкант", "judge": "Судья", "manager": "Тим-менеджер", "og": "OG" } }, "memberVisibility": { "public": { "label": "Публично", "description": "Любой видит вас в этом Crew — на публичной странице Crew и при поиске товарищей по Crew." }, "crew": { "label": "Только Crew", "description": "Только подтверждённые товарищи по Crew и основатель видят вас здесь. Для всех остальных вы отображаетесь как анонимный «скрытый участник». Примечание: это приватность на уровне приложения — тег вашего членства всё равно публично существует на Relay, просто никогда не показывается посторонним." } }, "tagCategory": { "features": { "name": "Особенности", "description": "Препятствия и рельеф" }, "surfaces": { "name": "Покрытия", "description": "Материалы и текстуры" }, "sizes": { "name": "Размеры", "description": "Габариты и масштаб" }, "stairs": { "name": "Количество ступеней", "description": "Число ступеней" }, "vibes": { "name": "Атмосфера", "description": "Обстановка и состояние" }, "location": { "name": "Локация", "description": "Контекст расположения" }, "tricks": { "name": "Трюки", "description": "Хорошо для конкретных трюков" } }, "spotTagCategory": { "street": { "label": "Street", "description": "Уличные споты — лестницы, Rail, Ledge" }, "park": { "label": "Park", "description": "Скейтпарки — публичные или частные" }, "diy": { "label": "DIY", "description": "DIY/самодельные споты" }, "plaza": { "label": "Plaza", "description": "Публичные площади со скейт-архитектурой" } }, "status": { "active": { "label": "Активен", "description": "Всё в порядке — катайте." }, "bust": { "label": "Выгоняют", "description": "Высокий риск разгона — охрана или полиция." }, "skate_stopped": { "label": "Катание остановлено", "description": "Заварено/заглушено, но частично катается." }, "closed": { "label": "Закрыто", "description": "Временно закрыто — стройка или событие." }, "gone": { "label": "Исчез", "description": "Снесено, закатано в асфальт или навсегда огорожено." } }, "price": { "free": "FREE", "trade": "Обмен", "makeOffer": "Предложить цену", "offer": "Предложить" } }, "feesUi": { "feeFeaturedEventLabel": "Рекламируемое событие", "feeFeaturedEventDesc": "Продвигайте своё событие в SkateSpots", "feeFeaturedEventBenefit": "Ваше событие появляется вверху страницы событий", "feeLabProfileLabel": "Профиль Lab Pro", "feeLabProfileDesc": "Продвигайте свои услуги в The Lab", "feeLabProfileBenefit": "Значок Pro + приоритетное размещение, когда скейтеры просматривают The Lab", "feeFeaturedShopLabel": "Рекламируемый магазин", "feeFeaturedShopDesc": "Продвигайте свой скейт-магазин на карте и в каталоге", "feeFeaturedShopBenefit": "Значок Verified + приоритетная метка на карте", "feeFeaturedTourLabel": "Рекламируемый тур", "feeFeaturedTourDesc": "Продвигайте свой тур в SkateSpots", "feeFeaturedTourBenefit": "Значок Pro + верхнее размещение, когда скейтеры просматривают туры", "duration7d": "7 дней", "duration30d": "1 месяц", "duration90d": "3 месяца", "duration365d": "12 месяцев", "metaActive": "{{label}} — активно", "daysRemainingOne": "остался {{count}} день", "daysRemainingMany": "осталось {{count}} дней", "zapRequestContent": "SkateSpots {{label}} ({{tier}})", "errGenerate": "Не удалось создать счёт", "paymentReceived": "⚡ Платёж получен!", "paymentReceivedDesc": "{{amount}} sats — {{label}} теперь активно.", "autoPayFailed": "Автоплатёж не удался", "autoPayFailedDesc": "Оплатите вручную через QR или счёт ниже.", "payStatusUnknown": "Статус платежа неизвестен — возможно, платёж прошёл. Проверьте кошелёк, прежде чем платить снова.", "invoiceCopied": "Счёт скопирован!", "activeBang": "{{label}} активно!", "chooseDuration": "Выберите срок", "bestValue": "Лучшая цена", "perDay": "{{price}}/день", "validFor": "Действует", "amountLine": "~${{usd}} USD · для {{name}} · {{tier}}", "payToContinue": "Оплатите {{amount}} sats, чтобы продолжить", "generating": "Создаём счёт…", "processing": "Обрабатываем платёж…", "invoiceQrAlt": "QR-код счёта Lightning", "copyInvoice": "Скопировать счёт", "openWallet": "Открыть кошелёк", "payConnected": "Оплатить подключённым кошельком", "scanAny": "Отсканируйте любым Lightning-кошельком", "tryAgain": "Попробовать снова", "proReceiptTitle": "🦧⚡ Sasquatch Pro — вы в деле!", "proReceiptPass": "Пропуск: {{pass}} ({{sats}} sats)", "proReceiptActiveUntil": "Активно до: {{until}}", "proReceiptUnlocked": "Что вы открыли:", "proReceiptBullet1": "• Личный ассистент — я читаю ваш Stash, Crew, споты и объявления", "proReceiptBullet2": "• Черновики действий — выставить снаряжение, опубликовать состояние спота, спланировать поездки (вы подтверждаете)", "proReceiptBullet3": "• Ответы, использующие ваш личный контекст, а не только публичные данные", "proReceiptBullet4": "• ⚡ Вы напрямую поддерживаете SkateSpots и сохраняете его бесплатным и без рекламы", "proReceiptThanks": "Спасибо, что сохраняете SkateSpots бесплатным и без рекламы. А теперь идите кататься. 🛹", "proReceiptSubject": "Чек Sasquatch Pro", "receiptContent": "Sasquatch Pro — пропуск сторонника {{tier}} 🦧⚡", "receiptAlt": "Пропуск сторонника Sasquatch Pro ({{tier}}), действителен до {{until}}", "purchaseComment": "Sasquatch Pro — {{tier}} 🦧", "errLogin": "Войдите, чтобы перейти на Pro.", "errStart": "Не удалось начать покупку.", "errRecord": "Не удалось записать ваш пропуск." }, "cardUi": { "save": "Сохранить карту в Nostr", "saved": "Карта сохранена", "savedDesc": "Ваша карта подписана и проверяема.", "saveFailed": "Не удалось сохранить карту", "notPublished": "Не опубликовано", "titleNeon": "Райдер", "titleRest": "Карта", "saveFrontPng": "Сохранить лицевую сторону (PNG)", "expired": "ИСТЕКЛА", "logoUploaded": "Логотип загружен", "logoUploadFailed": "Не удалось загрузить логотип", "venue": "Привязанное место (необязательно)", "venueNone": "Без места", "venueHint": "Выберите один из своих спотов, чтобы привязать пропуск к месту. Проверяющий подтвердит, что оно ваше.", "venuePick": "Выберите место", "parkNoVenue": "Пропуск Park может выдать только владелец места — сначала нанесите на карту спот, которым владеете.", "parkAddVenue": "Добавить спот", "parkNeedsVenue": "Выберите место, которым владеете", "parkIssued": "Выданные пропуска", "parkRevoke": "Отозвать", "parkRevoked": "Отозван", "parkRevokeFailed": "Не удалось отозвать", "v": { "valid": "Действительна", "validDesc": "Подпись действительна и выдана местом.", "expired": "Истекла", "expiredDesc": "Срок действия истёк.", "revoked": "Отозвана", "revokedDesc": "Выдавший отменил этот пропуск — не принимайте его.", "invalid": "Недействительна", "invalidDesc": "Подпись не подтверждается. Не доверяйте ей.", "notFound": "Не найдена", "notFoundDesc": "На Relay нет подходящей записи.", "unverifiedIssuer": "Непроверенный выдавший", "unverifiedIssuerDesc": "В этом пропуске указано место, не принадлежащее ключу выдавшего.", "notBound": "Не привязана", "notBoundDesc": "Не привязана к месту — ничего не доказывает о доступе.", "noRsvp": "Нет RSVP", "noRsvpDesc": "У держателя нет записи RSVP на это событие.", "admitted": "Допущен", "admittedDesc": "Событие организатора + держатель подтвердил RSVP.", "noHolder": "В ссылке нет держателя", "noHolderDesc": "В этом QR нет держателя билета (`?h=`), поэтому держателя нельзя проверить." }, "passes": { "tab": "Мои пропуска", "pass": "Пропуск доступа", "none": "Пропусков пока нет. Когда место или организатор выдаст вам пропуск, он появится здесь." }, "facets": { "title": "Показывать грани идентичности", "crews": "Crew", "local": "Локальный", "roles": "Роли в The Lab" }, "roles": { "coach": "Тренер", "filmer": "Filmer", "editor": "Монтажёр", "photographer": "Фотограф", "builder": "Строитель", "artist": "Художник", "graffiti": "Граффити", "tattoo": "Тату", "trainer": "Тренер по физподготовке", "musician": "Музыкант", "judge": "Судья", "organizer": "Организатор", "barber": "Барбер" }, "crew": { "crewCard": "CREW CARD", "crewSub": "Ваш Crew на карте", "pick": "Выберите Crew", "none": "Вы пока не в Crew — сначала вступите или создайте свой.", "hint": "Карта строится из собственных подписанных данных Crew. Чтобы изменить её, отредактируйте Crew на его странице.", "members": "УЧАСТНИКИ", "spots": "SPOTS", "est": "Осн. {{year}}", "openCall": "Открытый набор", "verifiedCrew": "Проверенный Crew", "viewCrew": "Открыть Crew" }, "event": { "pass": "ПРОПУСК НА СОБЫТИЕ", "passSub": "Пропуск на событие, которое вы посещаете", "pick": "Выберите событие", "none": "Событий пока нет — сначала создайте событие или подтвердите RSVP.", "hint": "Пропуск строится из собственных подписанных данных события. Изменить его может только организатор.", "admits": "ДОПУСКАЕТ", "going": "{{count}} идут", "verifiedEvent": "Проверенное событие", "viewEvent": "Открыть событие", "issuePass": "Выдать пропуск для регистрации", "issuePassBtn": "Выдать пропуск", "issuePassHint": "Подписанный пропуск для конкретного посетителя — он показывает его на входе.", "notOrganiser": "Только организатор может выдавать пропуска", "passIssued": "Пропуск выдан", "issueFailed": "Не удалось выдать пропуск", "issuedPasses": "Выданные пропуска для регистрации" }, "studio": { "unsaved": "Несохранённые изменения", "saved": "Сохранено", "saveChanges": "Сохранить изменения", "allSaved": "Сохранено — всё актуально", "showOnCard": "Показывать на карте", "derived": "Из вашего профиля скейтера", "noSkaterProfile": "Профиля скейтера пока нет —", "editSkaterProfile": "добавьте свои стили и уровень", "noPhoto": "Фото профиля пока нет —", "addPhoto": "добавьте в профиле", "finishTitle": "Доведите карту до конца", "finishDesc": "Фото и профиль скейтера делают её реалистичной.", "checkPhoto": "Фото профиля", "checkName": "Отображаемое имя", "checkProfile": "Стили и уровень", "checkCrew": "Вступите в Crew", "moreTypes": "Больше типов карт открывается, когда вы наносите свои споты, вступаете в Crew или подтверждаете RSVP на события.", "accent": "Акцентный цвет", "accentHint": "Переопределяет акцент темы", "accentClear": "Использовать цвет темы", "logo": "Свой логотип / герб", "logoAdd": "Загрузить", "logoChange": "Изменить", "logoClear": "Удалить" }, "back": { "title": "Печатная обратная сторона", "desc": "Crew, роли, спонсоры и ссылки на обороте", "showBack": "Показать оборот", "showFront": "Показать лицо", "empty": "Здесь пока пусто — добавьте Crew, роли или спонсоров." }, "verify": { "checking": "Проверяем карту…", "notFound": "Карта не найдена", "notFoundDesc": "На Relay не найдено подходящего события. Возможно, оно удалено или ссылка неверна.", "invalid": "Недействительная подпись", "invalidDesc": "Это событие существует, но его подпись не подтверждается. Не доверяйте ему.", "authentic": "Подлинная", "authenticDesc": "Подпись выдавшего действительна.", "kind": "Тип", "kindPark": "Карта доступа в Park", "kindRider": "Райдер-карта", "kindCrew": "Карта Crew", "kindEvent": "Пропуск на событие", "organiser": "Организатор", "expired": "Истекла", "valid": "Действительна", "holder": "Держатель", "ticketHolder": "Держатель билета", "rsvp": "RSVP", "rsvpGoing": "Идёт", "rsvpInterested": "Интересуется", "rsvpNone": "RSVP не найден", "revoked": "Пропуск отозван", "revokedDesc": "Выдавший отменил этот пропуск — не принимайте его.", "issuedBy": "Выдан", "accessLevel": "Уровень доступа", "validThru": "Действительна до", "selfIssued": "Статус", "selfIssuedDesc": "Самостоятельно выданная карта личности", "venue": "Место", "venueVerified": "Проверено — ключ владельца этого места совпадает с выдавшим.", "venueMismatch": "В этом пропуске указано место, не принадлежащее ключу выдавшего.", "venueNone": "Не привязана к месту.", "viewCard": "Посмотреть карту", "disclaimer": "Действительная подпись доказывает, кто подписал эту карту, — это не доказательство навыка или прав доступа сверх того, что выдало место.", "details": "Детали", "invalidLink": "Неверная ссылка", "invalidLinkDesc": "Это не похоже на действительную ссылку карты." }, "public": { "invalid": "Это не похоже на действительную ссылку карты.", "createYourOwn": "Создайте свою карту", "editYourCard": "Редактировать карту", "backToEditor": "Назад в редактор", "backHome": "На главную", "notCustomised": "Этот скейтер ещё не настроил свою карту — это вид по умолчанию.", "verifyNote": "Отсканируйте QR на карте, чтобы проверить её." } }, "routeUi": { "destination": "Пункт назначения", "routeTo": "Маршрут до {{label}}", "routeToLabel": "Маршрут до", "search": "Поиск", "description": "Варианты маршрута и встроенные подсказки.", "routeMapAria": "Карта маршрута", "findingLocation": "Определяем ваше местоположение…", "plottingRoute": "Строим маршрут…", "refiningLocation": "Уточняем местоположение…", "offlineSavedRoute": "Офлайн · сохранённый маршрут {{age}}", "tapMapStart": "Нажмите на карту, чтобы задать точку старта", "fitRouteAria": "Показать весь маршрут на карте", "wholeRoute": "Весь маршрут", "next": "Далее", "nextStep": "Далее · шаг {{n}}", "followTheLine": "Следуйте по линии", "toTheTurn": "до поворота", "toGo": "осталось", "tryAgain": "Попробовать снова", "mode": { "foot": "Скейт / пешком", "bike": "Велосипед", "moto": "Мото", "car": "Автомобиль", "transit": "Транспорт" }, "from": "Откуда", "myLocation": "Моё местоположение", "tapTheMap": "Нажмите на карту…", "chooseOnMap": "Выбрать на карте", "direct": "без пересадок", "transferOne": "1 пересадка", "transfers": "{{count}} пересадок", "options": "{{count}} вариантов", "ride": "поездка", "arrive": "прибытие", "speedAvg": "{{speed}} км/ч в среднем", "stepsCount": "{{count}} шагов", "onABoard": "на доске", "usesDrivingRoads": "использует автомобильные дороги", "drivingEstimate": "оценка для авто", "updating": "обновление…", "pickMode": "Выберите режим, чтобы увидеть маршрут.", "waitingLocation": "Ждём ваше местоположение…", "routeSteps": "Шаги маршрута", "walkingRoute": "пешеходный маршрут — на доске быстрее", "planningView": "Режим планирования — нажмите «Старт», чтобы следовать с живыми поворотами, голосом и прибытием.", "leaveNow": "Выехать сейчас", "departAt": "Отправиться в", "arriveBy": "Прибыть к", "departureTime": "Время отправления", "arrivalTime": "Время прибытия", "only": "Только", "clear": "сбросить", "itinerary": "Маршрут", "group": { "bus": "Автобус", "tram": "Трамвай", "metro": "Метро", "train": "Поезд", "ferry": "Паром" }, "walk": "Пешком", "rideVerb": "Ехать", "walkLower": "пешком", "rideLower": "ехать", "toStop": "до", "track": "путь {{track}}", "stopOne": "1 остановка", "stopsCount": "{{count}} остановок", "tickets": "билеты ↗", "done": "Готово", "stop": "Стоп", "start": "Старт", "arrived": "Вы прибыли. 🛹", "voiceOnNote": "Экран остаётся включённым · голос включён — повороты и прибытие озвучиваются.", "voiceOffNote": "Экран остаётся включённым · голос выключен.", "followNote": "Повороты, голос и прибытие по мере движения. Экран остаётся включённым.", "voiceOffAria": "Выключить голосовые подсказки", "voiceOnAria": "Включить голосовые подсказки", "voiceStart": "Начинаем навигацию", "voiceArrived": "Вы прибыли", "voiceIn": "Через {{metres}} метров {{instruction}}", "voiceContinue": "продолжайте", "voiceContinueCaps": "Продолжайте", "errPermissionDenied": "Доступ к геолокации запрещён.", "errWaitingGps": "Ждём GPS-сигнал…", "errPermissionDeniedLong": "Доступ к геолокации запрещён. Включите геолокацию, чтобы построить маршрут от вас.", "errNoLocation": "Не удалось определить ваше местоположение. Попробуйте снова.", "errNoLocationShort": "Не удалось определить ваше местоположение.", "errTransitNoRouteFiltered": "Нет маршрута для этого времени или вида транспорта — попробуйте другое время или добавьте больше видов.", "errTransitNoRoute": "Маршрут общественного транспорта здесь не найден — возможно, в этом районе не публикуют открытые расписания.", "errTransitUnreachable": "Не удалось связаться со службой транспорта. Проверьте соединение и попробуйте снова.", "errRoutingBusy": "Служба маршрутизации сейчас занята — попробуйте через момент.", "errNoRouteMode": "Нет маршрута для этого режима — возможно, пункт назначения вне дорожной сети. Попробуйте другой режим.", "errRoutingUnreachable": "Не удалось связаться со службой маршрутизации. Проверьте соединение и попробуйте снова.", "departures": "Отправления", "upcomingFrom": "Ближайшие отправления от {{stop}}", "loadingDepartures": "Загружаем отправления…", "noDepartures": "На этой остановке ближайших отправлений не найдено.", "live": "в реальном времени", "cancelled": "отменено", "refresh": "Обновить", "tripLoginTitle": "Войдите, чтобы сохранить", "tripLoginDesc": "Войдите, чтобы сохранить эту поездку как коллекцию.", "tripCollectionTitle": "Скейт-поездка в {{destination}} 🛹", "tripCollectionDesc": "План поездки от The Sasquatch — {{count}} дней в {{destination}}.", "tripCollectionDescOne": "План поездки от The Sasquatch — {{count}} день в {{destination}}.", "tripSavedTitle": "Сохранено в коллекции 🦧", "tripSavedDesc": "Ваша поездка в {{destination}} добавлена в закладки.", "tripSaveFailed": "Не удалось сохранить", "tripSaveFailedDesc": "Попробуйте ещё раз через секунду.", "daysInDestinationOne": "{{count}} день в {{destination}}", "daysInDestination": "{{count}} дней в {{destination}}", "wetForecast": "Дождливый прогноз — обратитесь к местному Crew за укрытиями/помещениями.", "dayLabel": "День {{n}}", "freeSkate": "Свободное катание — исследуйте и снимайте. 🎥", "tapToBook": "нажмите, чтобы забронировать / Zap ⚡", "localCrews": "Местные Crew", "saving": "Сохранение…", "savedToCollections": "Сохранено в коллекции", "saveSpotOne": "Сохранить {{count}} спот в коллекцию", "saveSpots": "Сохранить {{count}} спотов в коллекцию", "flights": "Авиабилеты", "stays": "Проживание", "gettingAround": "Передвижение", "noMiddleman": "Я планирую катание — авиабилеты и проживание открываются на реальных сайтах (без KYC, без посредников).", "ageJustNow": "только что", "ageMinAgo": "{{count}} мин назад", "ageHourAgo": "{{count}} ч назад", "ageDayAgo": "{{count}} дн назад", "skateRightHere": "прямо здесь", "skateMin": "~{{count}} мин на доске", "skateHours": "~{{hours}} ч на доске", "maneuver": { "headOut": "Выезжайте", "arrive": "Прибытие к споту", "continueStraight": "Продолжайте", "bearLeft": "Плавно влево", "bearRight": "Плавно вправо", "turnLeft": "Поверните налево", "turnRight": "Поверните направо", "sharpLeft": "Резко налево", "sharpRight": "Резко направо", "turn": "Поворот", "keepLeft": "Держитесь левее", "keepRight": "Держитесь правее", "takeFork": "На развилке", "merge": "Вливайтесь", "roundabout": "Проезжайте по кругу", "takeRamp": "Поверните на съезд", "takeExit": "Сверните на выход" }, "maneuverOnto": "{{instruction}} на {{road}}" }, "sasquatchUi": { "live": "в эфире", "offline": "офлайн", "genericTitle": "Ассистент SkateSpots 🦧", "genericGreeting": "Йоу! Я The Sasquatch. Спросите меня о чём угодно: о спотах, событиях, тренерах, снаряжении или о том, как работает приложение. У меня живые данные с Relay SkateSpots!", "q1": "Спланируй мне 3 дня в Лиссабоне", "q2": "Найди споты рядом", "q3": "Есть ближайшие события?", "q4": "Что такое Crew?", "q5": "Как работают Zap?", "q6": "Что такое Nostr?", "q7": "Что такое Мой Stash?", "q8": "Это бесплатно?", "bubbleTitle": "Нажмите и перетащите, чтобы переместить · Нажмите, чтобы открыть", "openGuideAria": "Открыть руководство Sasquatch", "hideAria": "Скрыть ассистента Sasquatch", "hide": "Скрыть ассистента", "showAria": "Показать ассистента Sasquatch", "activeUntil": "Активно до {{date}}", "platformOwner": "Владелец платформы", "upgradeTitle": "Перейти на Sasquatch Pro", "goPro": "Стать Pro", "goProBlurb": "Личный ИИ · от 2k sats", "aiBalanceTitle": "Баланс кредитов Sasquatch AI (только для владельца) — пополнить на {{provider}}", "aiChip": "⚡ ИИ {{balance}}", "minimizeToBubbleAria": "Свернуть в пузырь", "minimize": "Свернуть", "closePanelAria": "Закрыть панель", "close": "Закрыть", "askLab": "Спросить о тренерстве и съёмке", "askMap": "Спросить о спотах, магазинах и снаряжении", "askAnything": "Спросите меня о чём угодно 🛹", "quickQuestions": "Быстрые вопросы:", "you": "🧑 Вы", "thinking": "думаю...", "inputPlaceholder": "Спросите о спотах, событиях, тренерах...", "liveDataFrom": "Живые данные от", "nostrRelays": "Nostr Relay", "clear": "сбросить", "gettingLocation": "📍 Определяем ваше местоположение…", "findingClosest": "🔍 Ищем ближайшие споты…", "checkingLive": "🔍 Проверяем живые данные…", "planningTrip": "🗺️ Планируем вашу поездку в {{destination}}...", "searchingRelays": "🔍 Ищем в Relay: {{tool}}...", "perk1": "Личный ассистент — Sasquatch читает ваш Stash, Crew, споты и объявления", "perk2": "Черновики действий: выставить снаряжение, опубликовать скейт-статус, спланировать поездку — вы подтверждаете до любой публикации", "perk3": "Ответы используют ваш личный контекст, а не только публичные данные", "perk4": "⚡ Напрямую поддерживаете SkateSpots и сохраняете его бесплатным и без рекламы", "welcomeTitle": "Спасибо за поддержку Sasquatch Pro! 🦧⚡", "welcomeDesc": "Платёж отправлен — пропуск активируется, как только провайдер подтвердит его (обычно в течение минуты). Спасибо, что сохраняете улицы бесплатными.", "invoiceCopied": "Счёт скопирован", "dialogDesc": "Прокачайте своего ИИ-скейт-гида. 100% средств идут на бесплатное приложение без рекламы.", "proSupporter": "Вы сторонник Pro ⚡", "extendPrompt": "Хотите продлить? Выберите тариф ниже, чтобы добавить времени.", "scanToPayPre": "Отсканируйте, чтобы оплатить", "scanToPayAmount": "{{sats}} sats", "scanToPayPost": "за {{label}} Pro", "invoiceQrAlt": "QR-код счёта Lightning", "copyInvoice": "Скопировать счёт", "ivePaid": "Я оплатил", "ivePaidHint": "Нажмите «Я оплатил» после подтверждения в кошельке — это запишет ваш пропуск в вашу идентичность Nostr.", "freeStaysPre": "Бесплатный Sasquatch остаётся бесплатным — публичный поиск спотов/событий/тренеров, планирование поездок + полный глоссарий трюков. Pro добавляет ", "freeStaysEmphasis": "личный + деятельный", "freeStaysPost": " слой.", "loginFirst": "Сначала войдите, чтобы перейти на Pro.", "paysTo": "Оплата на", "overLightning": "через Lightning. Привязано к вашему npub.", "popular": "Популярно", "sats": "sats", "extend": "Продлить", "done": "Готово!", "cancelledNothing": "Отменено — ничего не опубликовано.", "draftReview": "Черновик — проверьте и подтвердите", "statusTextPlaceholder": "Текст статуса", "titlePlaceholder": "Заголовок", "priceSatsPlaceholder": "Цена (sats)", "conditionPlaceholder": "Состояние", "cancel": "Отмена", "aiTitle": "Sasquatch AI", "owner": "Владелец", "notConfigured": "не настроено", "unavailable": "недоступно", "satsValue": "{{balance}} sats", "theNode": "узел", "lowBalance": "Баланс на исходе — пополните на {{provider}}, иначе ИИ переключится на провайдера без ключа.", "aiDesc": "ИИ с оплатой за запрос, оплачивается в sats через Routstr. Пополняется автоматически при низком балансе.", "tier7d": "7 дней", "tier1m": "1 месяц", "tier3m": "3 месяца", "tier1y": "1 год", "badgeTry": "Попробуйте", "badgeOff20": "скидка 20%", "badgeBest": "Лучшая цена · скидка 40%", "draftPostStatusTitle": "Опубликовать скейт-статус", "draftAutoExpires": "Автоистечение через {{count}} мин", "draftPostStatusCta": "Опубликовать статус", "draftCategory": "Категория: {{value}}", "draftSize": "Размер: {{value}}", "draftCondition": "Состояние: {{value}}", "draftMaxPrice": "Макс. цена: {{price}} {{currency}}", "draftPriceOpen": "Цена: открытая", "draftLookingForTitle": "Ищу «{{title}}»", "draftWantedCta": "Опубликовать объявление «куплю»", "draftPrice": "Цена: {{price}} {{currency}}", "draftPriceOffer": "Цена: предложите свою", "draftListTitle": "Выставить «{{title}}» на продажу", "draftPublishCta": "Опубликовать объявление", "statusPosted": "Статус опубликован 🛹", "wantedPublished": "Объявление «куплю» опубликовано 🔎", "listingPublished": "Объявление опубликовано 💸", "mustBeLoggedIn": "Вы должны быть авторизованы." }, "sasquatchChat": { "faq": { "hi": "Привет! Я The Sasquatch 🦧 Ваш ИИ-гид по скейтбордингу. Спросите меня о спотах, событиях, тренерах, снаряжении — или о чём угодно про приложение. Что вам нужно?", "hello": "Как дела! 🛹 Я The Sasquatch. Спросите меня о скейт-спотах, событиях, тренерах или о том, как работает приложение. Что нового?", "hey": "Привет, скейтер! 🤙 Спросите меня о спотах рядом, ближайших событиях, тренерах или о чём угодно в SkateSpots.", "whoAreYou": "Я The Sasquatch 🦧 — ИИ-гид SkateSpots. Я умею находить скейт-споты по всему миру, искать события, тренеров, Filmer'ов и объявления о снаряжении. Всё на живых данных Nostr. Спрашивайте!", "whatCanYouDo": "Я умею находить скейт-споты по городу или стране, искать ближайшие события, находить тренеров и Filmer'ов в The Lab, искать объявления о снаряжении и отвечать на вопросы о том, как работает приложение. Попробуйте: «споты в Бангкоке» или «найди тренера»! 🛹", "whatIsNostr": "Nostr — это простой открытый протокол для децентрализованных соцсетей. Представьте Twitter, но им не управляет одна компания — вы используете криптографические ключи вместо имён пользователей, сами выбираете, какие Relay хранят ваши данные (или запускаете свой), и один аккаунт работает в любом приложении Nostr! 🔑", "isThisPrivate": "Честно обо всём 🛡️\n\n• Ваше **местоположение GPS остаётся на устройстве** — «Рядом» лишь центрирует карту. Оно никогда не отправляется нам и не публикуется.\n• **Споты, которые вы добавляете, публичны** (в этом и смысл общей карты) — так что не ставьте метку на своей входной двери.\n• **Личные сообщения и чаты Crew защищены сквозным шифрованием** — их видят только участники.\n• Как и на любом сайте, серверы, к которым вы подключаетесь (тайлы карт, Relay), видят ваш **IP**. Хотите скрыть и это? Используйте VPN или Tor.\n\nПодробности на [странице конфиденциальности](/privacy). 🛹", "privacy": "Кратко 🛡️: ваш GPS никогда не покидает устройство, опубликованные споты публичны по своей природе, а личные сообщения и чаты Crew защищены сквозным шифрованием. Серверы всё равно видят ваш IP (как на любом сайте) — VPN или Tor скроет это, если хотите. Полный разбор на [странице конфиденциальности](/privacy).", "amITracked": "SkateSpots не следит за вами — нет рекламы, нет аналитического профилирования, нет продажи данных, и нет сервера SkateSpots, собирающего ваше местоположение. Ваш GPS остаётся на устройстве. Единственное, что видят серверы (тайлы карт, Relay), — это ваш **IP**, как на любом сайте. Используйте VPN или Tor, чтобы скрыть его. Подробнее на [странице конфиденциальности](/privacy). 🛡️", "doYouTrack": "Нет — никакого трекинга, рекламы и сбора данных. Ваш GPS остаётся на устройстве, и нет центрального сервера, который вас логирует. Серверы, к которым вы подключаетесь, видят ваш IP (как на любом сайте); VPN/Tor это скроет. См. [страницу конфиденциальности](/privacy). 🛹", "vpn": "Совершенно необязательно, но полезно, если хотите больше приватности 🛡️. VPN скрывает ваш **IP** (примерное местоположение) от серверов, с которыми общается SkateSpots — тайлов карт, Relay и т. д. Выбирайте провайдера без логов, которому доверяете (например, Mullvad); избегайте сомнительных бесплатных.\n\nУчтите: VPN **не** скрывает споты, которые вы публикуете (они публичны), и не включайте GPS браузера, если хотите остаться анонимным. Подробности на [странице конфиденциальности](/privacy).", "tor": "Tor Browser даёт максимальную приватность IP — он проводит вас через несколько Relay, так что серверы не видят ваш настоящий IP 🧅. Цена: медленнее, а карты и некоторые Relay Nostr могут тормозить или блокировать выходные узлы Tor. Отлично для самых осторожных.\n\nПомните: Tor скрывает ваш IP, но не споты, которые вы публикуете, и не включайте GPS браузера, если цель — анонимность. Подробнее на [странице конфиденциальности](/privacy).", "hideMyIp": "Два бесплатных варианта 🛡️: **надёжный VPN** (просто, быстро — скрывает ваш IP за своими серверами) или **Tor Browser** (максимум приватности, медленнее). Любой из них не даёт серверам, к которым подключается SkateSpots, видеть ваш настоящий IP. Учтите, они не скрывают споты, которые вы публикуете. См. [страницу конфиденциальности](/privacy).", "isMyLocation": "Ваше местоположение в безопасности 📍 — «Рядом» читает GPS только на вашем устройстве, чтобы центрировать карту и отсортировать ближайшие споты. Оно никогда не публикуется в Nostr, не отправляется нам и не передаётся. Публичны только споты, которые вы сознательно добавили. Детали на [странице конфиденциальности](/privacy).", "whatAreZaps": "Zap — это мгновенные чаевые в Bitcoin Lightning, отправляемые через Nostr! Нажмите ⚡ на любом контенте и отправьте sats напрямую в кошелёк автора. Как «лайк», но с реальными деньгами. Мгновенно, peer-to-peer, без посредников. ⚡", "howToLogin": "Два способа:\n1. **Расширение браузера** (компьютер): установите Alby или nos2x, затем нажмите «Войти»\n2. **Новый пользователь**: нажмите «Регистрация», чтобы создать ключи. Скачайте свой nsec (секретный ключ) и СОХРАНИТЕ ЕГО — это ваш аккаунт навсегда!", "whatIsCashu": "Встроенный Bitcoin-кошелёк! Токены Cashu ecash с поддержкой Lightning — работают офлайн на спотах, ориентированы на приватность (минты не могут отслеживать платежи). Перейдите в Кошелёк в настройках, чтобы использовать. 🥜", "whatIsNwc": "Nostr Wallet Connect — как USB-C для кошельков Lightning. Подключите Alby, Minibits, Zeus или Coinos один раз — и делайте Zap в один клик навсегда. Зашифровано, лимиты расходов под вашим контролем. 🔌⚡", "isItFree": "100% бесплатно. Без рекламы, без подписок, без корпоративной чепухи. Сделано скейтерами для скейтеров. Финансируется сообществом через Angor — загляните на страницу сторонников. Вы также можете зарабатывать Bitcoin через Zap от сообщества за добавление качественных спотов. 🛹", "whatCanIDo": "Находите споты по всему миру на карте, нанимайте профи в The Lab (тренеры, Filmer'ы, фотографы, монтажёры, строители рамп), катайтесь с Crew, присоединяйтесь к событиям, ходите в туры, покупайте/продавайте снаряжение, ведите свой приватный Stash, делайте Zap авторам, смотрите погоду на спотах и стройте децентрализованное скейт-сообщество!", "whatIsTheLab": "The Lab — это место, где вы нанимаете профи скейт-сцены: тренеров, Filmer'ов, фотографов, видеомонтажёров и строителей рамп/парков/DIY. Каждый может быть отдельным человеком или коллективом (Crew/студия) — участники подтверждают своими ключами, так что всё честно. Всё на Nostr, без фейковых аккаунтов. 🎓", "whatIsACrew": "Crew — это ваша привязанная к карте скейт-семья: те, с кем вы катаетесь, а не кого нанимаете. У каждого Crew есть домашняя территория на карте (бирюзовые метки), домашние споты, участники, атмосфера и манифест. Участники подтверждают со своих ключей. Создайте свой в Crew → «Создать Crew». 🤘", "whatAreCrews": "Crew — это ваша привязанная к карте скейт-семья: те, с кем вы катаетесь, а не кого нанимаете. У каждого Crew есть домашняя территория на карте (бирюзовые метки), домашние споты, участники и манифест. Участники подтверждают со своих ключей. Перейдите на вкладку Crew, чтобы создать или вступить! 🤘", "howToStartACrew": "Перейдите на вкладку Crew → «Создать Crew». Дайте название, поставьте домашнюю территорию на карту, добавьте атмосферу (или свой хэштег), привяжите домашние споты и добавьте участников по npub. Каждый участник подтверждает со своего ключа, так что состав честный. 🤘", "whatIsMyStash": "Мой Stash — это ваш ПРИВАТНЫЙ зашифрованный шкафчик со снаряжением (шифрование NIP-44). Отслеживайте Deck, Trucks, Wheels, обувь — с местом хранения, состоянием, редкостью и ценой. Прочитать может только ВЫ, если не отметите предметы публичными. Отлично для страховки или планирования обмена. 🎒", "whatIsStash": "Мой Stash — это ваш ПРИВАТНЫЙ зашифрованный инвентарь снаряжения. Записывайте всё, что у вас есть — состояние, где хранится, ценность — всё зашифровано, чтобы видеть могли только вы. Отмечайте предметы публичными, если хотите продать или похвастаться. 🎒", "whatIsABuilder": "Builder'ы — это Crew по рампам/паркам/DIY в The Lab, которых можно нанять, чтобы построить transition, Bowl, Rail или целый парк. Они указывают, что строят, материалы, масштаб проектов, могут иметь лицензии/страховку. Часто это коллективы — и они могут привязывать построенные споты к карте. 🏗️", "whatIsANutzap": "Nutzaps (NIP-61) — это чаевые ecash, отправляемые через Nostr: приватные токены Cashu, отправленные Zap напрямую человеку. ПРИЁМ nutzap можно настроить в Кошельке. (Отправка полных nutzap ещё разворачивается — пока используйте Lightning Zap.) 🥜⚡", "whatIsClink": "CLINK — это нативный для Nostr платёжный код («noffer»). Магазины, Crew и профи The Lab могут добавить его, чтобы вы могли платить им без Lightning-адреса — вы увидите кнопку «Оплатить через CLINK» с QR. Отсканируйте его кошельком с CLINK, например ShockWallet. 🔗⚡ [спецификации](https://clinkme.dev/specs.html) [приложения](https://clinkme.dev/apps.html)", "whatIsNoffer": "Noffer — это платёжный код CLINK: многоразовый, нативный для Nostr способ получать оплату без веб-сервера или Lightning-адреса. Добавьте свой в профиле магазина/Crew/The Lab, и люди смогут платить вам напрямую. 🔗", "whatAreTours": "Туры — это организованные скейт-поездки: местные сессии, роад-трипы по стране или туры World Destruction. Находите их на карте или в разделе «Туры», встречайтесь и катайте новый рельеф вместе с местными. 🗺️🛹", "whatIsAShop": "Скейт-магазины — это местные магазины, отмеченные на карте. Открывайте и поддерживайте настоящие офлайн- (или онлайн-) скейт-магазины в своём районе — некоторые даже принимают Bitcoin. 🏪", "howToSellGear": "Перейдите в Gear Swap / Marketplace и создайте объявление (NIP-99). Добавьте фото, цену в sats, состояние и, при желании, привяжите к споту, чтобы оно появилось на карте. Покупатели пишут вам или делают Zap напрямую. 🛹💸", "supporters": "SkateSpots финансируется сообществом через Angor (децентрализованный краудфандинг на Bitcoin) — без рекламы, без инвесторов, без продажи данных. Загляните на страницу сторонников, чтобы поддержать проект и сохранить улицы бесплатными. ❤️⚡", "trustScore": "Оценки доверия (0–100) на базе Relatr. Анализируется ваша сеть Nostr: подписчики, активность, вовлечённость, Zap. Чем выше — тем больше доверия. Помогает фильтровать ботов и спам. Посмотрите любой профиль, чтобы увидеть оценку. 🛡️", "whatRelay": "SkateSpots использует: 🛹 relay.skate-spots.org (основной, в белом списке для качества) + relay.ditto.pub (глобальный) + purplepag.es (агрегатор профилей). Ваши данные реплицируются на все для надёжности.", "tripPlanner": "Назовите город, и я построю скейт-поездку по дням 🗺️ — споты, события, тренеры и местные Crew, с учётом погоды (дождливый день = совет от Crew про укрытия). Попробуйте «спланируй мне 3 дня в Лиссабоне». Я сохраню всё в коллекцию и передам вас на реальные сайты по авиабилетам и жилью (без KYC, без посредников). 🛹", "planATrip": "Просто скажите «спланируй мне 3 дня в Барселоне» (или любой город), и я распишу споты, сессии, тренеров и местные Crew на каждый день. Сохраните как коллекцию и идите кататься. 🗺️🛹", "sasquatchPro": "**Sasquatch Pro** 🦧⚡ — это пропуск сторонника за Lightning, который открывает личную сторону меня:\n\n• 🧠 **Личный ассистент** — я читаю ваш Stash, Crew, споты и объявления\n• ✨ **Черновики действий** — выставить снаряжение, опубликовать ваш скейт-статус, спланировать поездки (вы всегда подтверждаете до публикации)\n• 💬 **Личный контекст** — мои ответы используют ваши данные, а не только публичные результаты\n• ⚡ **Поддержка проекта** — вы сохраняете SkateSpots бесплатным и без рекламы\n\nБесплатный Sasquatch остаётся бесплатным: публичный поиск спотов/событий/тренеров/Crew, глоссарий и планирование поездок работают без Pro. Pro добавляет только *личное*. Нажмите **⚡ Стать Pro** вверху. Тарифы: 7 дней ~2k sats, 1 месяц ~5k, 3 месяца ~12k, 1 год ~36k.", "proPerks": "Бонусы Pro 🦧⚡: личный ассистент (читает ваш Stash/Crew/споты/объявления), черновики действий (выставить снаряжение, опубликовать статус, спланировать поездки — вы подтверждаете) и ответы, использующие ваш личный контекст. Плюс вы напрямую поддерживаете SkateSpots, сохраняя его бесплатным и без рекламы. Бесплатное остаётся бесплатным — Pro добавляет личный слой. Нажмите **⚡ Стать Pro** вверху.", "proVersion": "Pro-версия меня 🦧⚡ добавляет **личного ассистента**: я могу читать ваш Stash, Crew, споты и объявления, готовить черновики действий (выставить снаряжение, опубликовать статус, спланировать поездку — вы всегда подтверждаете первым) и использовать ваш личный контекст в ответах. Это также напрямую поддерживает проект. Бесплатный Sasquatch (поиск спотов/событий/тренеров/Crew, глоссарий, планировщик поездок) остаётся бесплатным. Нажмите **⚡ Стать Pro** вверху.", "perks": "Бонусы Pro 🦧⚡: личный ассистент (ваш Stash/Crew/споты/объявления), черновики действий, которые вы подтверждаете, и ответы, использующие ваш контекст — плюс вы сохраняете приложение бесплатным и без рекламы. Нажмите **⚡ Стать Pro** вверху.", "goPro": "Нажмите кнопку **⚡ Стать Pro** вверху, чтобы открыть окно обновления. Pro открывает моего личного ассистента (Stash/Crew/споты/объявления) и черновики действий, а также напрямую поддерживает проект. Оплата Lightning — от 7 дней ~2k sats до 1 года ~36k sats. Бесплатные функции остаются бесплатными. 🦧", "proPricing": "Тарифы Pro (оплата Lightning ⚡): **7 дней** ~2 000 sats (~$1.20), **1 месяц** ~5 000 sats (~$3), **3 месяца** ~12 000 sats (~$7, −20%), **1 год** ~36 000 sats (~$21, лучшая цена). Нажмите **⚡ Стать Pro** вверху.", "howMuchIsPro": "Тарифы Pro: 7 дней ~2 000 sats, 1 месяц ~5 000 sats, 3 месяца ~12 000 sats (−20%), 1 год ~36 000 sats (лучшая цена). Оплата Lightning ⚡. Нажмите **⚡ Стать Pro** вверху.", "upgrade": "Чтобы перейти на Sasquatch Pro, нажмите кнопку **⚡ Стать Pro** вверху. Оплата Lightning (от 7 дней ~2k sats до 1 года ~36k). Pro открывает моего личного ассистента и черновики действий, а также напрямую поддерживает проект. 🦧⚡" }, "statsTitle": "📊 **SkateSpots в цифрах**", "weatherTemp": "• {{temp}}°C (ощущается {{feels}}°C)", "weatherSkateability": "• Пригодность для катания: **{{label}}** ({{score}}/100)", "weatherError": "Не удалось прочитать погоду сейчас. Попробуйте через секунду. 🌧️", "labelSpots": "спотов", "labelEvents": "событий", "labelLabPros": "профи The Lab", "labelCrews": "Crew", "labelShops": "скейт-магазинов", "labelTours": "туров", "labelGear": "объявлений о снаряжении", "unnamed": "Без названия", "emptyWhere": " в **{{place}}**", "emptyResult": "Сейчас не нашёл ни одного {{label}}{{where}} 🦧\n\nВозможно, их пока нет в списке — или Relay ответили медленно. Попробуйте через момент, проверьте написание или [добавьте первый на карту](https://skate-spots.org/map). 🛹", "foundTitle": "{{emoji}} Нашёл **{{count}}** {{label}}:\n{{lines}}{{more}}", "moreResults": "\n\n…и ещё **{{count}}** — [смотрите все на карте](https://skate-spots.org/map) 🗺️", "locationDenied": "Я не вижу ваше местоположение — ничего не покидает ваше устройство; я читаю его локально только когда вы просите, а браузер только что отказал. Нажмите 🎯 **Рядом** на карте или назовите город: «споты в Бангкоке». 🛹", "noNearbySpots": "Рядом пока нет нанесённых спотов 🦧 — [будьте первым, кто добавит спот](https://skate-spots.org/create-spot). 🛹", "closestTitle": "Ближайшие к вам прямо сейчас:", "closestFooter": "_Вычислено на вашем устройстве — ваше местоположение его не покидало._", "proNudge": "Это функция **Sasquatch Pro** 🦧⚡ — с Pro я могу читать ваш Stash, Crew, споты и объявления, готовить черновики объявлений о снаряжении, запросов «куплю» и скейт-статусов, а также планировать ваши поездки. Это пропуск сторонника за Lightning, который сохраняет SkateSpots бесплатным и без рекламы. Нажмите кнопку **⚡ Стать Pro** вверху, чтобы открыть его. 🛹", "draftingProPerk": "Черновики действий (публикация статуса, выставление снаряжения) — бонус **Sasquatch Pro** 🦧⚡ — нажмите **⚡ Стать Pro** вверху, чтобы открыть.", "draftIntro": "Вот черновик — проверьте его и нажмите, чтобы опубликовать. Ничего не выйдет в эфир, пока вы не подтвердите. 🛹", "draftFailed": "Не удалось собрать этот черновик — попробуйте снова назвать детали (например, «выставь мои Wheels Spitfire за 8000 sats»).", "tripAskCity": "Куда? Назовите город (например, «спланируй мне 3 дня в Лиссабоне»), и я построю поездку. 🗺️", "tripEmptyMap": "Для **{{destination}}** пока ничего нет на карте 🦧 — будьте первым, кто добавит споты на [skate-spots.org](https://skate-spots.org). Как только местные добавят споты, Crew и события, я построю вам полную поездку.", "tripLocked": "Зафиксировал для вас миссию в **{{destination}}** 🛹 — споты, сессии и местные ниже. Подправьте её или сохраните.", "tripFailed": "Не удалось получить живые данные, чтобы спланировать это сейчас. Попробуйте через момент! 🛹", "tripEmptyMapLocal": "Для **{{destination}}** пока ничего нет на карте 🦧 — будьте первым на [skate-spots.org](https://skate-spots.org).", "tripMissionLocal": "Вот миссия в **{{destination}}** 🛹 — споты, сессии и местные ниже.", "relayFailed": "Relay не ответили вовремя 🛰️ — обычно это медленное соединение, а не отсутствующий спот. Попробуйте ещё раз через момент. 🛹", "couldNotProcess": "Хм, не удалось обработать это. Попробуйте переформулировать!", "freeTierFallback": "Для этого нужно рассуждение ИИ — функция **Sasquatch Pro** ⚡🦧\n\nЯ всё ещё могу находить **споты, события, тренеров, Crew, магазины, туры и снаряжение** прямо из Relay — спросите, например, «споты в Барселоне» — а [Глоссарий](/glossary) охватывает 150+ трюков и терминов. Нажмите **⚡ Стать Pro** вверху, чтобы открыть ответы ИИ.", "aiDownFallback": "Мой ИИ-мозг сейчас в воздухе 🦧 — но я всё ещё с вами:\n\n• 🗺️ [Карта](/) — споты, магазины, события рядом\n• 🧪 [The Lab](/lab) — тренеры, Filmer'ы, монтажёры\n• 📖 [Глоссарий](/glossary) — 150+ трюков и терминов\n• 👥 [Crew](/crews) — найдите своих\n\nИли просто назовите **город** («споты в Барселоне») или **трюк** («что такое nollie»), и я отвечу напрямую. 🛹", "wentWrong": "Что-то пошло не так на моей стороне. Попробуйте через секунду! 🦧", "publishError": "Не удалось опубликовать: {{error}}. Попробуйте через секунду.", "unknownError": "неизвестная ошибка" } }; export default ruBatch2;