/** uk — batch 2. Filled by the Ukrainian translation pass. */ const ukBatch2 = { mapUi: { mapFooter: { links: "Посилання", hide: "Сховати панель посилань карти", }, findingSpots: "Шукаємо Spots", loadingSpots: "Завантажуємо Spots", loadingMap: "Завантаження карти...", mapViewAria: "Вигляд карти", listViewAria: "Вигляд списку", layers: "Шари", mapLayers: "Шари карти", showOnMap: "Показати на карті", showResults: "Показати результати", quickActions: "Швидкі дії", spots: "Spots", shops: "Магазини", gear: "Спорядження", tours: "Тури", events: "Події", crews: "Crews", spotType: "Тип Spot", sortBy: "Сортувати за", trustLevel: "Рівень довіри", weather: "Погода", buySellGear: "Купити/Продати спорядження", stash: "Stash", more: "Більше", newHere: "Вперше тут?", welcomeDesc: "Відкривай скейт-Spots, події та спільноту.", getOnZapstore: "Завантажити в Zapstore", dismiss: "Закрити", addedBy: "Додано", directions: "Маршрут", viewDetails: "Детальніше", viewDetailsArrow: "Детальніше →", spotDetails: "Деталі Spot", skateShop: "Скейт-магазин", skateSpot: "Скейт-Spot", 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: "Скейт-Crew", members: "{{count}} учасників", since: "З {{year}}", viewCrew: "Переглянути Crew →", acceptsBitcoin: "Приймає Bitcoin", boosted: "Просунуто", website: "Вебсайт", offlineSavedSpots: "Офлайн · показано збережені Spots", cantReachRelays: "Не вдається зв'язатися з Relay", relayOnlineNoAnswer: "Ви онлайн, але спільнотний Relay зараз не відповідає.", youreOffline: "Ви офлайн.", savedOnDevice: "Spots, які ви вже бачили, збережені на цьому пристрої й з'являться тут.", noSpotsMatchTitle: "Немає відповідних Spots", noSpotsMatchDesc: "Спробуйте інший запит або скиньте фільтри.", noSpotsMappedYet: "Ще немає Spots на карті", noSpotsMappedDesc: "Будьте першим, хто нанесе свій Park на карту — це займе хвилину, він ваш, і наступний скейтер, який проїде повз, подякує вам.", addFirstSpot: "Додати перший Spot", findSpotsNearMe: "Знайти Spots поблизу", locating: "Визначаємо місце…", refiningLocation: "Уточнюємо ваше місце…", refiningLocationDesc: "Центровано на вашому останньому Spot — отримуємо свіжі дані GPS.", locatingYou: "Визначаємо ваше місце…", locatingDesc: "Отримуємо дані GPS. Уперше це може зайняти до хвилини.", foundYou: "Вас знайдено", foundYouDesc: "Карту центровано на вашому місці.", locationPermissionNeeded: "Потрібен дозвіл на місцезнаходження", permissionNeededDesc: "Дозвольте доступ до місцезнаходження для SkateSpots у Налаштуваннях пристрою → Застосунки → SkateSpots → Дозволи, потім знову натисніть «Поблизу».", locationTimedOut: "Час очікування місцезнаходження минув", timeoutNativeDesc: "Не вдалося вчасно визначити місце. Якщо ви в приміщенні, GPS не бачить супутники — увімкніть мережеве визначення місцезнаходження (Налаштування → Місцезнаходження) або вийдіть надвір і спробуйте знову.", timeoutWebDesc: "Не вдалося вчасно визначити ваше місце. Перевірте сигнал і спробуйте знову.", noLocationProvider: "Немає постачальника геоданих", noProviderNativeDesc: "Ваш телефон не надає геодані. На ROM із фокусом на приватність (напр. GrapheneOS) увімкніть мережеве визначення місцезнаходження в Налаштуваннях → Місцезнаходження, або переконайтеся, що GPS увімкнено, і спробуйте надворі.", noProviderWebDesc: "Постачальник геоданих недоступний. Увімкніть служби геолокації та спробуйте знову.", locationUnavailable: "Місцезнаходження недоступне", unavailableNativeDesc: "Увімкніть геолокацію/GPS у налаштуваннях телефону, дозвольте SkateSpots доступ до місцезнаходження (Налаштування → Застосунки → SkateSpots → Дозволи) і спробуйте знову.", unavailableWebDesc: "Не вдалося визначити ваше місце. Переконайтеся, що служби геолокації увімкнено.", locationBlocked: "Місцезнаходження заблоковано", locationBlockedDesc: "Ваш браузер заблокував доступ до місцезнаходження для цього сайту. Ось як його повернути:", locationPlatformAndroid: "Android Chrome", locationPlatformIos: "iOS Safari", locationPlatformDesktop: "Desktop Chrome", locationPlatformFirefox: "Firefox", locationStepsAndroid: "Натисніть значок замка в адресному рядку → Налаштування сайту → Місцезнаходження → Дозволити", locationStepsIos: "Застосунок Налаштування → Safari → Місцезнаходження → Дозволити (або натисніть кнопку «AA» в адресному рядку Safari)", locationStepsDesktop: "Натисніть значок замка → Налаштування сайту → Місцезнаходження → Дозволити", locationStepsFirefox: "Натисніть значок замка → З'єднання захищено → Докладніше → Дозволи → Доступ до вашого місцезнаходження → Дозволити", gotIt: "Зрозуміло", addSpot: "Додати Spot", addShop: "Додати магазин", addEvent: "Додати подію", addSpotHereTitle: "Додати Spot тут?", addSpotHereDesc: "Поставте мітку там, де натиснули", sellGear: "Продати спорядження", offerTour: "Запропонувати тур", closeAddMenu: "Закрити меню додавання", addMenuAria: "Додати Spot, магазин, подію, спорядження або тур", 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: "Пошук Spots...", selected: "Обрано", noSpotsFound: "Spots не знайдено. Спробуйте інший запит.", addingSpotsHint: "Додавання Spots допомагає користувачам знаходити вас під час перегляду конкретних локацій", report: "Скарга", spotSingular: "1 Spot", spotPlural: "{{count}} Spots", view: "Переглянути", myCollections: "Мої колекції", collectionsSubtitle: "Упорядковуйте улюблені Spots у персоналізовані списки", newCollection: "Нова колекція", loginToCreate: "Увійдіть, щоб створювати колекції", loginToCreateDesc: "Зберігайте улюблені Spots у персоналізовані списки, як-от «Поїздка до Барселони 2024» чи «Найкращі Rails у Лос-Анджелесі»", noCollections: "Ще немає колекцій", noCollectionsDesc: "Створіть першу колекцію, щоб упорядковувати Spots", createFirstCollection: "Створіть першу колекцію", createNewCollection: "Створити нову колекцію", createCollectionDesc: "Дайте колекції назву та необов'язковий опис", collectionName: "Назва колекції", collectionNamePlaceholder: "Поїздка до Барселони 2024", descriptionOptional: "Опис (необов'язково)", descriptionPlaceholder: "Мої улюблені Spots з поїздки до Барселони...", creating: "Створення...", createCollection: "Створити колекцію", editCollection: "Редагувати колекцію", saving: "Збереження...", saveChanges: "Зберегти зміни", deleteCollectionTitle: "Видалити колекцію?", deleteCollectionDesc: "Це назавжди видалить «{{title}}». Самі Spots не постраждають.", deleting: "Видалення...", collectionCreated: "Колекцію створено!", collectionCreatedDesc: "«{{title}}» готовий для Spots", collectionCreateFailed: "Не вдалося створити колекцію", collectionUpdated: "Колекцію оновлено!", changesSaved: "Ваші зміни збережено", collectionUpdateFailed: "Не вдалося оновити колекцію", collectionDeleted: "Колекцію видалено", collectionDeletedDesc: "«{{title}}» видалено", collectionDeleteFailed: "Не вдалося видалити колекцію", somethingWentWrong: "Щось пішло не так" }, mapPage: { title: "Магазини та Spots", spots: "Spots", shops: "Магазини", filters: "Фільтри", listView: "Список", mapView: "Карта", nearMe: "Поблизу", searchPlaceholder: "Пошук Spots...", noSpotsInArea: "У цій області немає Spots", zoomIn: "Збільшити", zoomOut: "Зменшити", myLocation: "Моє місце", locationsFound: "Знайдено {{count}} локацій", spotsOnly: "Лише Spots", shopsOnly: "Лише магазини", spotsAndShops: "Spots і магазини", noSpotsMatch: "Жоден Spot не відповідає вашим фільтрам.", noSpotsYet: "Ще не додано жодного Spot.", addFirstSpot: "Додати перший Spot" }, spotUi: { claim: { areYouOwner: "Це ваш Spot?", privateDesc: "Цей Spot позначено як приватний. Якщо він належить вам або ви ним керуєте, заявіть на нього — модератор SkateSpots підтвердить право власності, і ви візьмете оголошення під контроль.", claimSpot: "Заявити на цей Spot", nip05Required: "Щоб заявити на приватний Spot, потрібен підтверджений NIP-05 (доказ, що ви контролюєте ідентичність Nostr). Додайте його у профілі та поверніться.", addNip05: "Додати NIP-05 у налаштуваннях", pendingTitle: "Заявка на розгляді", pendingDesc: "Вашу заявку подано. Модератор SkateSpots її розгляне — ви зможете завершити заявлення Spot, щойно її схвалять.", approvedTitle: "Заявку схвалено", approvedDesc: "Модератор схвалив вашу заявку. Завершіть, щоб стати власником цього Spot.", complete: "Завершити заявлення", submitted: "Заявку подано", submittedDesc: "Модератор розгляне вашу заявку. Ви візьмете Spot під контроль, коли її схвалять.", submitFailed: "Не вдалося подати заявку", submit: "Подати заявку", submitting: "Надсилання…", confirmTitle: "Заявити на «{{title}}»?", confirmIntro: "Ви просите стати власником цього приватного Spot.", confirmBullet1: "Модератор SkateSpots розглядає запит (ми не можемо перевірити право власності, лише ключі Nostr)", confirmBullet2: "Якщо схвалять, ви завершите заявлення, станете власником і зможете редагувати Spot", confirmBullet3: "Початковий Spot залишається в Nostr — мережа децентралізована", adminTitle: "Заявки на право власності в очікуванні", adminApprove: "Схвалити", adminApproved: "Схвалено", adminApprovedDesc: "Тепер вони можуть завершити заявлення Spot.", adminApproveFailed: "Не вдалося схвалити заявку", loginRequired: "Увійдіть, щоб заявити на цей приватний Spot або подати запит на право власності." }, abandonedDesc: "Востаннє оновлено {{time}}. Якщо початковий власник неактивний, ви можете заявити на цей Spot, щоб підтримувати й покращувати його.", claimedNotice: "Заявлене оголошення", claimedNoticeDesc: "Цей Spot було повторно опубліковано новим власником після заявлення. Початкове оголошення може досі існувати окремо.", abandonedLoginDesc: "Востаннє оновлено {{time}}. Увійдіть, щоб заявити на цей Spot і підтримувати його.", accessDeniedDesc: "Ви можете редагувати лише Spots, які створили самі.", accessDeniedTitle: "Доступ заборонено", addAtLeastOneTag: "Будь ласка, додайте хоча б один тег.", additionalDetails: "Додаткові деталі (необов'язково)", additionalDetailsPlaceholder: "Додайте будь-який контекст, який може допомогти...", addNewTags: "Додати нові теги:", addNip05InSettings: "Додати NIP-05 у налаштуваннях", addPhoto: "Додати фото", addPhotoDesc: "Додайте фото, щоб допомогти іншим відкрити цей Spot.", addPhotoOrDescription: "Додайте фото або опис", addPhotoOrDescriptionDesc: "Дайте скейтерам за що зачепитися — знімок або рядок про це місце.", addPhotos: "Додати фото", addPhotoToSpot: "Додати фото до Spot", adminDeleteDialogDesc: "Як адміністратор SkateSpots ви прибираєте «{{title}}». Його буде приховано в усьому застосунку для всіх, і запит на видалення надійде на Relay.", adminDeleteReason: "Адміністратор SkateSpots видалив Spot «{{title}}»", airQuality: "Якість повітря", altSkateSpot: "Скейт-Spot: {{title}}", areYouShopOwner: "Ви власник магазину?", askBeforeSkating: "Спитайте перед катанням", backToSpot: "Назад до Spot", beFirstToListGear: "Будьте першим, хто виставить спорядження на цьому Spot!", beFirstToSay: "Будьте першим, хто щось скаже.", byAuthor: "від {{name}}", captionPlaceholder: "Додайте підпис (необов'язково) — опишіть, що на фото, коли його знято тощо.", chatPublicNote: "Будь-хто може це читати — повідомлення публічні й ефемерні. Для приватних розмов використовуйте Direct Messages.", checkPinBelow: "Перевірте мітку нижче, перш ніж додавати дублікат.", claimBullet1: "Ви стаєте власником і можете редагувати Spot", claimBullet2: "Початковий Spot залишається (Nostr децентралізований)", claimBullet3: "Ваша версія може з'явитися поряд з оригіналом", claimFailed: "Не вдалося заявити", claiming: "Заявлення...", claimIntro: "Ви збираєтеся заявити право власності на цей Spot. Це створить вашу власну версію Spot, яку ви зможете редагувати й підтримувати.", claimSpot: "Заявити Spot", claimThisSpot: "Заявити на цей Spot", claimTitle: "Заявити на «{{title}}»?", claimWhatHappens: "Що відбувається, коли ви заявляєте:", coachesAndFilmersAvailable: "Тренери та оператори доступні на цьому Spot", coachesCount: "Тренери ({{count}})", coachHere: "Тренер тут", community: "Спільнота", communityVerified: "Підтверджено спільнотою", communityVerifiedTitle: "Інший скейтер зробив внесок тут (фото або звіт про стан).", conditions: "Умови", contactForPermission: "Зв'язатися для дозволу", contactInfo: "Контактна інформація", contributePhoto: "Додати фото", contributing: "Додавання...", couldNotSendMessage: "Не вдалося надіслати повідомлення.", couldNotSubmit: "Не вдалося надіслати", couldNotUploadPhoto: "Не вдалося завантажити фото. Ви можете додати його нижче.", crewsThatSkateHere: "Crews, які катаються тут", current: "Поточні:", currentTags: "Поточні теги цього Spot:", daysAgo: "{{count}} день тому", daysAgoPlural: "{{count}} днів тому", deleteDialogDesc: "Це назавжди видалить «{{title}}» з усіх Relay. Цю дію не можна скасувати.", deletedSpotReason: "Видалений Spot", deleteFailed: "Не вдалося видалити", deleteSpot: "Видалити Spot", deleteSpotTitle: "Видалити Spot?", differentSpotPublishAnyway: "Це інший Spot — усе одно опублікувати", dragDropOrClick: "Перетягніть або натисніть", dropPhotos: "Перетягніть фото", duplicateOne: "Є Spot у межах 60 м від вашої мітки. Якщо це те саме місце, додайте туди своє фото або звіт про стан замість створення дубліката.", duplicateOther: "Є Spots у межах 60 м від вашої мітки. Якщо це те саме місце, додайте туди своє фото або звіт про стан замість створення дубліката.", editSpotSeoDesc: "Редагуйте свій скейт-Spot.", failedToContribute: "Не вдалося додати", failedToPublish: "Не вдалося опублікувати", failedToPublishDesc: "Щось пішло не так. Перевірте консоль для деталей.", failedToSubmitReport: "Не вдалося надіслати звіт", failedToSuggestTags: "Не вдалося запропонувати теги", failedToUpdate: "Не вдалося оновити", failedToUploadImage: "Не вдалося завантажити зображення", failedToUploadPhoto: "Не вдалося завантажити фото", feelsLikeTemp: "Відчувається як {{temp}}°C", filmersCount: "Оператори ({{count}})", filmHere: "Знімати тут", gearSwap: "Обмін спорядженням", geolocationNotSupported: "Геолокація не підтримується", geolocationNotSupportedDesc: "Ваш браузер не підтримує геолокацію.", getDirections: "Прокласти маршрут", hangTight: "Зачекайте", hangTightDesc: "Ваше фото ще завантажується. Воно прикріпиться за секунду.", helpImproveSpot: "Допоможіть покращити цей Spot, додавши фото або запропонувавши теги", hiddenByModerator: "Приховано модератором", hiddenByModeratorDesc: "Цей Spot не показується на карті чи в пошуку. Ви все ще бачите його, бо він ваш. Редагування не поверне його — він залишається прихованим, доки модератор не скасує рішення.", 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: "Вам потрібно увійти, щоб редагувати цей Spot.", logInToReport: "Вам потрібно увійти, щоб поскаржитися на вміст.", logInToReportStatus: "Увійдіть, щоб повідомити стан цього Spot.", logInToSuggestTags: "Увійдіть, щоб пропонувати теги", manageNip05ToClaim: "Керувати NIP-05 для заявлення", meetAtSpotForPickup: "💡 Зустрічайтеся на цьому Spot для безпечної передачі", memberOne: "{{count}} учасник", memberOther: "{{count}} учасників", messageFailed: "Не вдалося надіслати повідомлення", messageMapper: "Картограф повідомлень", messagePlaceholder: "Повідомлення цьому Spot… (спробуйте /me або /who)", messagesHiddenOne: "{{count}} повідомлення приховано вашим фільтром довіри. Знизьте фільтр, щоб побачити більше.", messagesHiddenOther: "{{count}} повідомлень приховано вашим фільтром довіри. Знизьте фільтр, щоб побачити більше.", messagesHiddenShortOne: "{{count}} повідомлення приховано вашим фільтром довіри", messagesHiddenShortOther: "{{count}} повідомлень приховано вашим фільтром довіри", metresAway: "{{distance}} м звідси", moderatorVouchedDesc: "Модератор переглянув цей Spot і поручився за нього. Молодець.", monthsAgo: "{{count}} місяць тому", monthsAgoPlural: "{{count}} місяців тому", newOwnerNpub: "npub нового власника", newOwnerNpubHint: "Введіть npub користувача, якому хочете передати цей Spot.", 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: "Будьте першим, хто підтвердить цей Spot", verifyNudgeBody: "Фото або «Я катався тут» — так Spot отримує підтвердження — допоможіть наступному скейтеру.", verifyNudgeStatus: "Я катався тут", communityChip: "Спільнота", seenChip: "Переглянуто", noGearListedYet: "Спорядження ще не виставлено", noMessagesYet: "У цьому локальному каналі ще немає повідомлень. Привітайтеся — «хтось катається сьогодні ввечері?»", noPhoto: "Без фото", noReportsYet: "Ще немає звітів", noTags: "Без тегів", notASkateSpot: "Не скейт-Spot", offerServicesHere: "💡 Запропонуйте свої послуги на цьому Spot", photoCaptured: "Фото зроблено!", photoCapturedDesc: "Ваше фото успішно завантажено.", photoContributed: "Фото додано!", photoContributedDesc: "Ваше фото додано до цього Spot.", photosAdded: "Ваші фото додано.", photosRecommended: "настійно рекомендується — Spots без фото залишаються позначеними як Неперевірені", photosUploaded: "Завантажено {{count}} фото", photoUploaded: "Фото завантажено", photoUploadedDesc: "Додайте підпис і надішліть, щоб зробити внесок!", photoUploadFailed: "Не вдалося завантажити фото", pleaseTryAgain: "Будь ласка, спробуйте знову", public: "Публічний", publicChatTitle: "Будь-хто може читати повідомлення в цьому каналі — він публічний і незашифрований.", recentReports: "Останні звіти", recipientRequired: "Потрібен отримувач", recipientRequiredDesc: "Будь ласка, введіть npub нового власника.", removeAdmin: "Видалити (адмін)", removeSpot: "Прибрати Spot", removeSpotAdminTitle: "Прибрати цей Spot? (адмін)", reportOne: "скарга", reportContent: "Поскаржитися на вміст", reportContentDesc: "Допоможіть зберегти спільноту безпечною, повідомляючи про неприйнятний вміст.", reportedBySkaters: " від {{count}} скейтерів — на розгляді. Якщо це справжній Spot, додайте фото або звіт про стан, щоб підтвердити його.", reportedNotASpot: "Поскаржилися, що це не скейт-Spot", reportingType: "Скарга на {{type}}", reports: "скарги", reportShop: "Поскаржитися на магазин", reportSpot: "Поскаржитися на Spot", reportStatus: "Повідомити стан", reportSubmitted: "Скаргу надіслано", reportSubmittedDesc: "Дякуємо, що допомагаєте зберігати SkateSpots у безпеці.", reportSubmittedLong: "Дякуємо, що допомагаєте зберігати SkateSpots у безпеці й точним. Вашу скаргу розглянуть довірені учасники спільноти.", reportSubmittedTitle: "Скаргу надіслано", report: { notASkateSpot: { label: "Не скейт-Spot", description: "Тестовий запис або місце, зовсім не призначене для катання" }, fakeSpot: { label: "Фальшивий/неіснуючий Spot", description: "Цей Spot не існує або місце вказано неправильно" }, stolenPhotos: { label: "Вкрадені/фальшиві фото", description: "Фото — це стокові зображення або вкрадені з іншого місця" }, spamAd: { label: "Спам або реклама", description: "Промо-вміст або дубльовані оголошення" }, dangerousLocation: { label: "Небезпечне місце", description: "Приватна власність, небезпечно або незаконно для доступу" }, inappropriateContent: { label: "Неприйнятний вміст", description: "Містить образливий або дорослий вміст" }, impersonation: { label: "Видача себе за іншого", description: "Хтось видає себе за когось іншого" }, other: { label: "Інше", description: "Щось інше, не зазначене вище" } }, targetType: { spot: "Spot", event: "Подія", tour: "Тур", shop: "Магазин", user: "Користувач", listing: "Оголошення", coach: "Тренер", filmer: "Оператор" }, sameOwner: "Той самий власник", sameOwnerDesc: "Не можна передати поточному власнику.", saveChanges: "Зберегти зміни", saving: "Збереження...", services: "Послуги", shareSpotText: "Глянь на цей скейт-Spot: {{title}}", shelter: "Укриття", shelterHint: "Чи відкритий цей Spot впливу погоди? Допомагає скейтерам знайти сухі місця, коли йде дощ.", shopClaimDesc: "Якщо він належить вам або ви ним керуєте, ви можете заявити на цей магазин, щоб підтвердити право власності та керувати оголошенням.", shopClaimNip05Hint: "Щоб заявити на цей магазин, додайте ідентифікатор NIP-05, що відповідає домену сайту магазину.", skatersActiveDesc: "Люди, які писали в цьому каналі за останні 24 год.", skatersActiveOne: "{{count}} скейтер активний тут", skatersActiveOther: "{{count}} скейтерів активні тут", skatersSellingGear: "Скейтери на цьому Spot продають спорядження", skateSpot: "Скейт-Spot", somethingWentWrong: "Щось пішло не так", spot: "Spot", spotAdded: "Spot додано!", spotAddedDesc: "Ваш скейт-Spot опубліковано в мережі.", spotAddedNoPhoto: "Опубліковано — і позначено як Неперевірений, доки хтось не додасть фото. Фото Spot багато важить.", spotChat: "Чат Spot", spotClaimed: "Spot заявлено!", spotClaimedDesc: "Тепер ви власник цього Spot. Ви можете редагувати його зі свого профілю.", spotDeleted: "Spot видалено", spotDeletedDesc: "Запит на видалення надіслано на Relay. Більшість Relay приберуть цей вміст.", spotMayAlreadyBeOnMap: "Цей Spot, можливо, вже на карті", spotMayAlreadyExist: "Цей Spot, можливо, вже існує", spotMayBeAbandoned: "Spot може бути закинутий", spotPhotoAlt: "Spot", spotRemoved: "Spot прибрано", spotRemovedDesc: "Цей Spot було прибрано, і його буде приховано в усьому SkateSpots.", spotSeoDesc: "Перегляньте цей скейт-Spot на SkateSpots.", spotStatus: "Стан Spot", spotStatusDesc: "Чи «{{title}}» все ще катабельний? Повідомте спільноті про його поточний стан.", spotTypeRequired: "Потрібен тип Spot", spotTypeRequiredDesc: "Будь ласка, оберіть тип Spot, щоб скейтери знали, до чого вони під'їжджають.", spotUpdated: "Spot оновлено!", spotUpdatedDesc: "Ваші зміни опубліковано в мережі.", staffVerifiedTitle: "Адміністратор SkateSpots переглянув і поручився за цей Spot.", statusNotePlaceholder: "Необов'язково: додайте деталі (напр. «нові кноби на Ledge», «охорона виганяє після 18:00»)", statusReported: "Стан повідомлено", statusReportedDesc: "Дякуємо, що підтримуєте карту свіжою. Ваш звіт опубліковано.", submitReport: "Надіслати звіт", submitting: "Надсилання...", suggestedByUser: "Запропоновано {{count}} користувачем", suggestedByUsers: "Запропоновано {{count}} користувачами", suggestedTagsContent: "Запропоновані теги для {{title}}: {{tags}}", suggestNTags: "Запропонувати {{count}} тегів", suggestOneTag: "Запропонувати 1 тег", suggestTags: "Запропонувати теги", suggestTagsDesc: "Допоможіть категоризувати цей Spot, пропонуючи відповідні теги.", tags: "Теги", tagsHint: "Додайте теги для особливостей, покриттів, вайбу (макс. {{max}})", tagsSuggested: "Теги запропоновано!", tagsSuggestedDesc: "Ваші пропозиції тегів надіслано.", takePhoto: "Зробити фото", threeDayForecast: "Прогноз на 3 дні", tipTheMapper: "Подякувати картографу", tipTheMapperDesc: "Цей Spot був корисним? Надішліть Zap, щоб подякувати картографу!", titleRequired: "Потрібна назва", titleRequiredDesc: "Будь ласка, введіть назву цього Spot.", today: "Сьогодні", tomorrow: "Завтра", transferDesc: "Передати «{{title}}» іншому користувачу. Цю дію не можна скасувати.", transferFailed: "Не вдалося передати", transferOwnership: "Передати право власності", transferRequestContent: "Запит на передачу права власності на Spot «{{title}}»", transferRequested: "Передачу запитано", transferRequestedDesc: "Новому власнику потрібно заявити на Spot, щоб завершити передачу.", transferring: "Передача...", transferSpotOwnership: "Передати право власності на Spot", transferWarningDesc: "Після передачі ви більше не зможете редагувати чи видаляти цей Spot.", typeToSearchTags: "Введіть для пошуку або додавання тегів...", underReview: " — на розгляді. Якщо це справжній Spot, додайте фото або звіт про стан, щоб підтвердити його.", untitledSpot: "Spot без назви", unverified: "Неперевірений", updateDetailsFor: "Оновіть деталі для {{title}}", updateSpotDesc: "Оновіть інформацію про цей Spot. Усі поля з * обов'язкові.", uploadAPhoto: "Завантажити фото", uploadAPhotoHint: "Перетягніть або натисніть · JPG, PNG, WebP", uploadedAlt: "Завантажено", uploadFailed: "Не вдалося завантажити", uploadingPhoto: "Завантаження фото…", uploadPhotoFirst: "Будь ласка, спершу завантажте фото.", uvIndex: "УФ-індекс", verifiedBySkateSpots: "Перевірено SkateSpots", viewPhotoFullScreen: "Переглянути фото на весь екран", viewPhotoOf: "Фото {{n}} з {{total}}", warning: "Попередження", weatherConditions: "Погодні умови", weatherOnly: "лише погода", weatherOnlyUnconfirmed: "Лише погода. Ніхто ще не підтвердив, що це скейт-Spot, тож оцінки умов немає — додайте фото або звіт про стан, щоб підтвердити його.", whyReporting: "Чому ви скаржитеся?", wind: "Вітер", yearsAgo: "{{count}} рік тому", yearsAgoPlural: "{{count}} років тому" }, diyUi: { title: "DIY — Зроби сам", tagline: "Посібники, відкриті інструменти та креслення, щоб зробити власні Deck, рампи й бетонні Spots — а тоді знайти людей, місця й ринок до них.", doItWithPeople: "Роби це з людьми", backToDiy: "Назад до DIY", calc: { title: "Калькулятор вартості Deck", intro: "Скільки коштує зробити Deck — праця, обладнання, матеріали, час процесу, пакування й маржа — і справедлива ціна продажу. Збережено на цьому пристрої." }, designer: { title: "Конструктор Deck", intro: "Сформуйте контур скейтборду чи лонгборду, а тоді експортуйте друкований шаблон 1:1, SVG або DXF для CNC. Збережено на цьому пристрої.", presets: "Пресети", dimensions: "Розміри", shape: "Форма", kicks: "Kicks", hardware: "Отвори для Trucks", width: "Макс. ширина", wheelbase: "Wheelbase", nose: "Довжина носа", tail: "Довжина хвоста", length: "Загальна довжина", waist: "Талія", endRound: "Округлість країв", concave: "Concave", thickness: "Товщина", tailKick: "Kick хвоста", noseKick: "Kick носа", 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: "Переріз Concave", export: "Експорт", pdfA4: "PDF 1:1 · A4", pdfLetter: "PDF 1:1 · Letter", printNote: "Друкуйте PDF на 100% (без «вписати в сторінку»), а тоді склейте аркуші за хрестиками в кутах. SVG теж у натуральну величину.", note: "Це 2D-контур, який ви обводите й вирізаєте. Для повних 3D-форм і проєктування прес-форм усе ще варто взяти справжній CAD." }, source: "Джерело", comingSoon: "Незабаром", footer: "Покрокові посібники вже в дорозі. Поки що: знайдіть людей, які будують, у The Lab, нанесіть свій Spot на карту та купуйте чи продавайте на Маркетплейсі. Працюйте безпечно — захист, рукавички та окуляри.", categories: { boards: "Deck", ramps: "Рампи та дерев'яні перешкоди", concrete: "Бетон і DIY Spots", repairs: "Ремонт і налаштування", tools: "Інструменти та креслення" }, cards: { ossBuild: { title: "Зібрати скейтборд", blurb: "Покрокове виготовлення Deck — шпон, форми, преси й оздоблення." }, sk8cad: { title: "SK8CAD", blurb: "Відкритий CAD для форм Deck, Concave та проєктування прес-форм." }, deckCost: { title: "Вартість і ціна Deck", blurb: "Порахуйте матеріали, працю та справедливу ціну продажу ще до того, як почнете." }, deckDesigner: { title: "Конструктор Deck", blurb: "Сформуйте контур і надрукуйте шаблон 1:1 — або експортуйте SVG/DXF для CNC." }, ledgeBox: { title: "Збудувати Ledge або бокс", blurb: "Дерев'яна перешкода для початківців, яку можна зробити за вихідні." }, quarterpipe: { title: "Збудувати quarterpipe", blurb: "Креслення рампи, перехід і коупінг для домашнього міні." }, flatbar: { title: "Збудувати flatbar", blurb: "Дешево, портативно й найкращий спосіб вчити Rails." }, concreteBasics: { title: "Основи бетону", blurb: "Замішування, опалубка та оздоблення Ledge чи банки, що протримається." }, coping: { title: "Коупінг і краї", blurb: "Як виставити коупінг і оздобити перехід для гладкого грінду." }, buyParts: { title: "Купити деталі та спорядження", blurb: "Беріть Deck, кріплення й інструменти в продавців на Маркетплейсі." }, mapSpot: { title: "Нанести DIY Spot на карту", blurb: "Щось збудували? Додайте на карту, щоб інші могли знайти й покататися." }, regrip: { title: "Переклеїти Griptape", blurb: "Зніміть старий гріп і акуратно наклейте новий Griptape." }, tune: { title: "Налаштувати Bearings і Trucks", blurb: "Почистіть Bearings, замініть бушинги й налаштуйте геометрію Trucks." }, printMolds: { title: "3D-друковані форми", blurb: "Файли друкованих прес-форм і вирівнювальних основ від спільноти." }, sk8cadTools: { title: "Інструменти для форм і вирівнювання", blurb: "Проєктуйте форми з вбудованими вирівнювальними основами." } }, actions: { findBuilder: { title: "Знайти будівельника", blurb: "Будівельники рамп і DIY у The Lab, які можуть спроєктувати чи залити це для вас." }, findCrew: { title: "Знайти DIY Crew", blurb: "Crews, зосереджені на будівництві — приєднуйтеся до тих, хто втілює Spots у життя." }, mapSpot: { title: "Нанести DIY Spot на карту", blurb: "Додайте Spot, який збудували, щоб він жив на карті." }, sellBuilds: { title: "Продавати свої вироби", blurb: "Виставляйте Deck, рампи чи деталі, які робите, на Маркетплейсі." }, findCoach: { title: "Знайти тренера", blurb: "Тренери, які навчають DIY-модулів зі скейтингу та будівництва Spots." } } }, labelsUi: { spotCategory: { street: { label: "Street", description: "Випадкові знайдені місця, міський рельєф" }, transition: { label: "Transition", description: "Вигнуті/похилі поверхні" }, park: { label: "Park", description: "Побудовані скейт-Park" }, plaza: { label: "Plaza", description: "Міські площі (як MACBA, Love Park)" } }, spotFeature: { wallrides: "Wallrides", stairs: "Сходи та поручні", rails: "Rails", ledges: "Ledges та бордюри", gaps: "Gaps", flatground: "Flatground", "manual-pads": "Manual Pads", "half-pipes": "Half Pipes", "quarter-pipes": "Quarter Pipes", "mini-ramps": "Mini Ramps", bowls: "Bowls", vert: "Vert Ramps", "mega-ramps": "Mega Ramps", hubbas: "Hubbas", "euro-gaps": "Euro Gaps", banks: "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: "Rails", ledges: "Ledges та бордюри", gaps: "Gaps", flatground: "Flatground", "manual-pads": "Manual Pads", "half-pipes": "Half Pipes", "quarter-pipes": "Quarter Pipes", "mini-ramps": "Mini Ramps", bowls: "Bowls", vert: "Vert Ramps", "mega-ramps": "Mega Ramps", hubbas: "Hubbas", "euro-gaps": "Euro Gaps", banks: "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: "Contest", demo: "Demo", session: "Session", workshop: "Майстерня", premiere: "Прем'єра", tradeshow: "Виставка", gameskate: "Game of Skate", concert: "🎸 Концерт", jam: "🎵 Jam", festival: "🎪 Фестиваль", popup: "🎯 Pop-up" }, gearCategory: { deck: "Deck", trucks: "Trucks", wheels: "Wheels", bearings: "Bearings", shoes: "Скейт-взуття", clothing: "Одяг", protective: "Захисне спорядження", stickers: "Стікери", wax: "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: "Покажіть приховані Spots у вашому місті" }, national: { label: "Національний тур", description: "Багатоміські поїздки країною" }, international: { label: "Міжнародний тур", description: "Пригоди за кордоном у кількох країнах" }, destruction: { label: "World Destruction", description: "Глобальне командне змагання у стилі KOTR" } } }, crew: { vibe: { street: "Street", transition: "Transition / Vert", park: "Park", diy: "DIY", cruising: "Cruising / Зйомка", oldschool: "Old School", allterrain: "All Terrain", girls: "Дівчата / Жінки", youth: "Юнь / Ґроми", adaptive: "Адаптивний", punk: "Punk", hiphop: "Rap / Hip-Hop" }, focus: { mixed: "Змішаний / Загальний", builder: "DIY та будівельники", photo: "Фото та відео", coaching: "Тренерство", art: "Мистецтво та дизайн", music: "Гурт і музика", wellness: "Тренування та фізіо" }, focusDescription: { mixed: "Звичайний скейт-Crew — показується лише на сторінці Crews.", builder: "Crew з DIY / будівництва Park — також показується в The Lab у розділі Будівельники.", photo: "Crew зі зйомки, фотографії чи монтажу — також показується в The Lab у розділі Фото та відео.", coaching: "Crew з тренерства / уроків — також показується в The Lab у розділі Тренерство.", art: "Колектив з мистецтва, дизайну, графіті чи татуювань — також показується в The Lab у розділі Мистецтво та дизайн.", music: "Гурт або музичний колектив — також показується в The Lab у розділі Музика.", wellness: "Crew з тренувань, фітнесу чи фізіо — також показується в The Lab у розділі Тренування." }, lookingFor: { filmer: "Оператор", photographer: "Фотограф", editor: "Відеомонтажер", coach: "Тренер", builder: "Будівельник рамп", artist: "Художник / Дизайнер", musician: "Музикант / Гурт", members: "Нові учасники" }, role: { 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: "Вуличні Spots — сходи, Rails, Ledges" }, park: { label: "Park", description: "Скейт-Park — публічні чи приватні" }, diy: { label: "DIY", description: "DIY/саморобні Spots" }, plaza: { label: "Plaza", description: "Публічні площі зі скейт-дружньою архітектурою" } }, status: { active: { label: "Активний", description: "Усе гаразд — катай." }, bust: { label: "Bust", 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: "Значок «Перевірено» + рекомендована мітка на карті", 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, Crews, Spots та оголошення", proReceiptBullet2: "• Чернетки дій — виставити спорядження, опублікувати стан Spot, планувати поїздки (ви підтверджуєте)", 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: "Rider", titleRest: "Card", saveFrontPng: "Зберегти лицьовий бік (PNG)", expired: "ПРОСТРОЧЕНО", logoUploaded: "Логотип завантажено", logoUploadFailed: "Не вдалося завантажити логотип", venue: "Прив'язане місце (необов'язково)", venueNone: "Без місця", venueHint: "Оберіть один зі своїх Spots, щоб прив'язати цю перепустку до місця. Верифікатор підтвердить, що він ваш.", venuePick: "Оберіть своє місце", parkNoVenue: "Перепустку Park може видавати лише власник місця — спершу нанесіть Spot, яким володієте, на карту.", parkAddVenue: "Додати Spot", 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: "Crews", local: "Локальні", roles: "Ролі Lab" }, roles: { coach: "Тренер", 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: "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: "Більше типів карток відкривається, коли ви наносите Spots, якими володієте, приєднуєтеся до Crews або підтверджуєте RSVP на події.", accent: "Акцентний колір", accentHint: "Перевизначає акцент теми", accentClear: "Використати колір теми", logo: "Власний логотип / герб", logoAdd: "Завантажити", logoChange: "Змінити", logoClear: "Прибрати" }, back: { title: "Друкований зворотний бік", desc: "Crews, ролі, спонсори та посилання на звороті", showBack: "Показати зворот", showFront: "Показати лицьовий бік", empty: "Тут ще нічого немає — додайте Crews, ролі чи спонсорів." }, verify: { checking: "Перевіряємо картку…", notFound: "Картку не знайдено", notFoundDesc: "На Relay не знайдено відповідної події. Можливо, її видалено або посилання неправильне.", invalid: "Підпис недійсний", invalidDesc: "Ця подія існує, але її підпис не перевіряється. Не довіряйте їй.", authentic: "Справжня", authenticDesc: "Підпис видавця дійсний.", kind: "Тип", kindPark: "Park Access Card", kindRider: "Rider Card", kindCrew: "Crew Card", kindEvent: "Event pass", 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: "Skate / Пішки", 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: "Локальні Crews", saving: "Збереження…", savedToCollections: "Збережено в Колекції", saveSpotOne: "Зберегти {{count}} Spot у Колекцію", saveSpots: "Зберегти {{count}} Spots у Колекцію", flights: "Рейси", stays: "Проживання", gettingAround: "Пересування", noMiddleman: "Я планую катання — рейси та проживання відкриваються на справжніх сайтах (без KYC, без посередників).", ageJustNow: "щойно", ageMinAgo: "{{count}} хв тому", ageHourAgo: "{{count}} год тому", ageDayAgo: "{{count}} дн тому", skateRightHere: "просто тут", skateMin: "~{{count}} хв їзди", skateHours: "~{{hours}} год їзди", maneuver: { headOut: "Вирушайте", arrive: "Прибуття на Spot", 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. Питай мене будь-що про Spots, події, тренерів, спорядження чи те, як працює застосунок. У мене живі дані з Relay SkateSpots!", q1: "Сплануй мені 3 дні в Лісабоні", q2: "Знайди Spots поблизу", q3: "Є найближчі події?", q4: "Що таке Crews?", q5: "Як працюють zaps?", q6: "Що таке Nostr?", q7: "Що таке Мій Stash?", q8: "Це безкоштовно?", bubbleTitle: "Натисніть і перетягніть, щоб перемістити · Торкніться, щоб відкрити", openGuideAria: "Відкрити путівник Sasquatch", hideAria: "Сховати помічника Sasquatch", hide: "Сховати помічника", showAria: "Показати помічника Sasquatch", activeUntil: "Активний до {{date}}", platformOwner: "Власник платформи", upgradeTitle: "Перейти на Sasquatch Pro", goPro: "Go Pro", goProBlurb: "Персональний ШІ · від 2k sats", aiBalanceTitle: "Баланс кредиту ШІ Sasquatch (лише для власника) — поповніть на {{provider}}", aiChip: "⚡ ШІ {{balance}}", minimizeToBubbleAria: "Згорнути в бульбашку", minimize: "Згорнути", closePanelAria: "Закрити панель", close: "Закрити", askLab: "Спитати про Coaching та Filming", askMap: "Спитати про Spots, магазини та спорядження", askAnything: "Питай мене будь-що 🛹", quickQuestions: "Швидкі запитання:", you: "🧑 Ви", thinking: "думаю...", inputPlaceholder: "Питайте про Spots, події, тренерів...", liveDataFrom: "Живі дані з", nostrRelays: "Nostr Relay", clear: "очистити", gettingLocation: "📍 Визначаємо ваше місце…", findingClosest: "🔍 Шукаємо найближчі Spots…", checkingLive: "🔍 Перевіряємо живі дані…", planningTrip: "🗺️ Плануємо вашу подорож до {{destination}}...", searchingRelays: "🔍 Шукаємо в Relay: {{tool}}...", perk1: "Персональний асистент — Sasquatch читає ваш власний Stash, Crews, Spots та оголошення", 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 залишається безкоштовним — публічний пошук Spots/подій/тренерів, планування подорожей + повний глосарій трюків. 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 🦧 Твій ШІ-скейт-путівник. Питай мене про Spots, події, тренерів, спорядження — чи будь-що про застосунок. Що тобі потрібно?", hello: "Дарова! 🛹 Я The Sasquatch. Питай мене про скейт-Spots, події, тренерів чи те, як працює застосунок. Як справи?", hey: "Гей, скейтере! 🤙 Питай мене про Spots поблизу, найближчі події, тренерів чи будь-що про SkateSpots.", whoAreYou: "Я The Sasquatch 🦧 — ШІ-путівник SkateSpots. Я вмію знаходити скейт-Spots по всьому світу, шукати події, тренерів, операторів та оголошення спорядження. Усе працює на живих даних Nostr. Питай!", whatCanYouDo: "Я вмію знаходити скейт-Spots за містом чи країною, шукати найближчі події, знаходити тренерів та операторів у The Lab, шукати оголошення спорядження й відповідати на запитання про те, як працює застосунок. Спробуй: «Spots у Бангкоку» або «знайди тренера»! 🛹", whatIsNostr: "Nostr — це простий відкритий протокол для децентралізованих соцмереж. Уявіть Twitter, але жодна компанія ним не керує — ви використовуєте криптографічні ключі замість імен користувачів, обираєте, які Relay зберігають ваші дані (або запускаєте власний), і один акаунт працює в усіх застосунках Nostr! 🔑", isThisPrivate: "Ось чесний розклад 🛡️\n\n• Ваше **місцезнаходження GPS залишається на вашому пристрої** — «Поблизу» лише центрує карту. Воно ніколи не надсилається нам і не публікується.\n• **Spots, які ви додаєте, публічні** (у цьому сенс спільної карти) — тож не ставте мітку на своїх вхідних дверях.\n• **Особисті повідомлення та чати Crew зашифровані від кінця до кінця** — їх можуть читати лише учасники.\n• Як і будь-який сайт, сервери, до яких ви підключаєтеся (тайли карт, Relay), бачать ваш **IP**. Хочете приховати й це? Використовуйте VPN або Tor.\n\nПовні деталі на [сторінці приватності](/privacy). 🛹", privacy: "Коротко 🛡️: ваш GPS ніколи не покидає пристрій, Spots, які ви публікуєте, публічні за задумом, а особисті повідомлення й чати 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 **не** приховує Spots, які ви публікуєте (вони публічні), і не вмикайте GPS браузера, якщо хочете лишатися анонімним. Повні деталі на [сторінці приватності](/privacy).", tor: "Tor Browser дає найсильнішу приватність IP — він маршрутизує вас через кілька Relay, тож сервери не бачать ваш справжній IP 🧅. Компроміс: повільніше, а карти й деякі Relay Nostr можуть гальмувати чи блокувати виходи Tor. Чудово для надобережних.\n\nПам'ятайте: Tor приховує ваш IP, а не Spots, які ви публікуєте, і не вмикайте GPS браузера, якщо мета — анонімність. Більше на [сторінці приватності](/privacy).", hideMyIp: "Два безкоштовні варіанти 🛡️: **надійний VPN** (просто, швидко — приховує ваш IP за їхніми серверами) або **Tor Browser** (максимум приватності, повільніше). Будь-який із них заважає серверам, до яких підключається SkateSpots, бачити ваш справжній IP. Зауважте, вони не приховують Spots, які ви публікуєте. Дивіться [сторінку приватності](/privacy).", isMyLocation: "Ваше місце в безпеці 📍 — «Поблизу» зчитує ваш GPS лише на пристрої, щоб центрувати карту й сортувати найближчі Spots. Воно ніколи не публікується в Nostr, не надсилається нам, не передається. Публічні лише Spots, які ви свідомо додаєте. Деталі на [сторінці приватності](/privacy).", whatAreZaps: "Zaps — це миттєві чайові в Bitcoin Lightning, надіслані через Nostr! Натисніть ⚡ на будь-якому вмісті, надішліть sats напряму в гаманець автора. Як «лайк», але зі справжніми грошима. Миттєво, напряму між людьми, без посередників. ⚡", howToLogin: "Два способи:\n1. **Розширення браузера** (комп'ютер): встановіть Alby або nos2x, тоді натисніть «Увійти»\n2. **Новий користувач**: натисніть «Зареєструватися», щоб згенерувати ключі. Завантажте свій nsec (секретний ключ) і ЗБЕРЕЖІТЬ ЙОГО — це ваш акаунт назавжди!", whatIsCashu: "Вбудований Bitcoin-гаманець! Токени Cashu ecash, забезпечені Lightning — працюють офлайн на скейт-Spots, з фокусом на приватність (мінти не можуть відстежувати платежі). Перейдіть до Гаманця в Налаштуваннях, щоб скористатися. 🥜", whatIsNwc: "Nostr Wallet Connect — як USB-C для Lightning-гаманців. Підключіть Alby, Minibits, Zeus або Coinos один раз — і надсилайте Zap одним кліком назавжди. Зашифровано, ви контролюєте ліміти витрат. 🔌⚡", isItFree: "100% безкоштовно. Без реклами, без підписок, без корпоративного лайна. Створено скейтерами для скейтерів. Фінансується спільнотою через Angor — перегляньте сторінку Прихильників. Ви також можете заробляти Bitcoin через чайові спільноти за якісні Spots. 🛹", whatCanIDo: "Відкривайте Spots по всьому світу на карті, наймайте професіоналів у The Lab (тренери, оператори, фотографи, монтажери, будівельники рамп), катайтеся з Crew, приєднуйтеся до подій, беріть тури, купуйте/продавайте спорядження, ведіть свій приватний Stash, надсилайте Zap авторам, перевіряйте погоду на Spot і будуйте децентралізовану скейт-спільноту!", whatIsTheLab: "The Lab — це місце, де ви наймаєте професіоналів скейт-сцени: тренерів, операторів, фотографів, відеомонтажерів та будівельників рамп/Park/DIY. Кожен може бути окремою людиною або колективом (Crew/студія) — учасники підтверджують власними ключами, тож усе легітимно. Усе на Nostr, без фейкових акаунтів. 🎓", whatIsACrew: "Crews — це ваша скейт-сім'я, прив'язана до карти — ті, з ким ви катаєтеся РАЗОМ, а не кого наймаєте. Кожен Crew має домашню територію на карті (бірюзові мітки), домашні Spots, учасників, вайб і маніфест. Учасники підтверджують власним ключем. Створіть свій у Crews → «Створити Crew». 🤘", whatAreCrews: "Crews — це ваша скейт-сім'я, прив'язана до карти — ті, з ким ви катаєтеся РАЗОМ, а не кого наймаєте. Кожен Crew має домашню територію на карті (бірюзові мітки), домашні Spots, учасників і маніфест. Учасники підтверджують власним ключем. Перейдіть на вкладку Crews, щоб створити чи приєднатися! 🤘", howToStartACrew: "Перейдіть на вкладку Crews → «Створити Crew». Назвіть його, позначте домашню територію на карті, додайте вайб (або власний #хештег), прив'яжіть домашні Spots і додайте учасників за npub. Кожен учасник підтверджує власним ключем, тож склад легітимний. 🤘", whatIsMyStash: "Мій Stash — це ваш ПРИВАТНИЙ зашифрований сховок для спорядження (шифрування NIP-44). Відстежуйте свої Deck, Trucks, Wheels, взуття — із місцем зберігання, станом, рідкістю та ціною. Лише ВИ можете це читати, якщо не позначите предмети публічними. Чудово для страховки чи планування обміну. 🎒", whatIsStash: "Мій Stash — це ваш ПРИВАТНИЙ зашифрований інвентар спорядження. Записуйте все, що маєте — стан, де зберігається, вартість — усе зашифровано, тож бачите лише ви. Позначайте предмети публічними, якщо хочете продати чи похвалитися. 🎒", whatIsABuilder: "Будівельники — це Crew з рамп/Park/DIY у The Lab, яких можна найняти, щоб збудувати переходи, Bowls, Rails чи цілий Park. Вони вказують, що будують, матеріали, масштаб проєкту й можуть мати ліцензію/страховку. Часто це колективи — і вони можуть прив'язувати збудовані Spots до карти. 🏗️", whatIsANutzap: "Nutzaps (NIP-61) — це чайові ecash, надіслані через Nostr — приватні токени Cashu, надіслані Zap напряму комусь. Ви можете налаштувати ОТРИМАННЯ nutzap у Гаманці. (Надсилання повних nutzap впроваджується — поки що використовуйте Lightning zaps.) 🥜⚡", whatIsClink: "CLINK — це рідний для Nostr платіжний код («noffer»). Магазини, Crews і фахівці The Lab можуть додати його, щоб ви могли їм платити без Lightning-адреси — ви побачите кнопку «Pay via CLINK» із QR-кодом. Скануйте його гаманцем CLINK, як-от ShockWallet. 🔗⚡ [специфікації](https://clinkme.dev/specs.html) [застосунки](https://clinkme.dev/apps.html)", whatIsNoffer: "Noffer — це платіжний код CLINK — багаторазовий, рідний для Nostr спосіб отримувати оплату без вебсервера чи Lightning-адреси. Додайте свій у профілі магазину/Crew/Lab, і люди зможуть платити вам напряму. 🔗", whatAreTours: "Тури — це організовані скейт-подорожі — локальні сесії, національні роуд-тріпи чи світові destruction-тури. Знаходьте їх на карті чи в розділі Турів, зустрічайтеся й катайте новий рельєф разом з місцевими. 🗺️🛹", whatIsAShop: "Скейт-магазини — це місцеві магазини, позначені на карті. Відкривайте й підтримуйте справжні офлайн- (чи онлайн-) скейт-магазини у своєму районі — деякі навіть приймають Bitcoin. 🏪", howToSellGear: "Перейдіть до Gear Swap / Маркетплейсу й створіть оголошення (NIP-99). Додайте фото, ціну в sats, стан і за бажанням прив'яжіть до Spot, щоб воно з'явилося на карті. Покупці надсилають Zap або пишуть вам напряму. 🛹💸", supporters: "SkateSpots фінансується спільнотою через Angor (децентралізований краудфандинг на Bitcoin) — без реклами, без інвесторів, без продажу даних. Перегляньте сторінку Прихильників, щоб підтримати проєкт і зберегти вулиці вільними. ❤️⚡", trustScore: "Оцінки довіри (0–100) на базі Relatr. Аналізує вашу мережу Nostr: підписників, активність, залучення, Zaps. Вище = більше довіри. Допомагає фільтрувати ботів і спам. Перегляньте будь-який профіль, щоб побачити оцінку. 🛡️", whatRelay: "SkateSpots використовує: 🛹 relay.skate-spots.org (основний, у списку дозволених для якості) + relay.ditto.pub (глобальний) + purplepag.es (агрегатор профілів). Ваші дані реплікуються на всіх них для надійності.", tripPlanner: "Назвіть місто, і я збудую скейт-подорож день за днем 🗺️ — Spots, події, тренери та локальні Crews, з урахуванням погоди (дощовий день = порада від Crew щодо накритих Spots). Спробуйте «сплануй мені 3 дні в Лісабоні». Я можу зберегти все в Колекцію й передати вас до рейсів/проживання на справжніх сайтах (без KYC, без посередників). 🛹", planATrip: "Просто скажіть «сплануй мені 3 дні в Барселоні» (чи будь-якому місті), і я розпишу Spots, сесії, тренерів та локальні Crews на кожен день. Збережіть як Колекцію — і гайда катати. 🗺️🛹", sasquatchPro: "**Sasquatch Pro** 🦧⚡ — це Lightning-перепустка прихильника, що відкриває мою персональну сторону:\n\n• 🧠 **Персональний асистент** — я читаю ваш власний Stash, Crews, Spots та оголошення\n• ✨ **Чернетки дій** — виставити спорядження, опублікувати ваш скейт-статус, спланувати подорожі (ви завжди підтверджуєте, перш ніж щось публікується)\n• 💬 **Особистий контекст** — мої відповіді використовують ваші дані, а не лише публічні результати\n• ⚡ **Підтримка проєкту** — ви зберігаєте SkateSpots безкоштовним та без реклами\n\nБезкоштовний Sasquatch залишається безкоштовним: публічний пошук Spots/подій/тренерів/Crew, глосарій і планування подорожей працюють без Pro. Pro лише додає *персональні* речі. Натисніть **⚡ Go Pro** вгорі. Тарифи: 7 днів ~2k sats, 1 місяць ~5k, 3 місяці ~12k, 1 рік ~36k.", proPerks: "Переваги Pro 🦧⚡: персональний асистент (читає ваш Stash/Crews/Spots/оголошення), чернетки дій (виставити спорядження, опублікувати статус, спланувати подорожі — ви підтверджуєте) та відповіді, що використовують ваш особистий контекст. До того ж ви напряму підтримуєте SkateSpots і зберігаєте його безкоштовним та без реклами. Безкоштовне залишається безкоштовним — Pro додає персональний шар. Натисніть **⚡ Go Pro** вгорі.", proVersion: "Pro-версія мене 🦧⚡ додає **персонального асистента**: я можу читати ваш власний Stash, Crews, Spots та оголошення, готувати чернетки дій (виставити спорядження, опублікувати статус, спланувати подорож — ви завжди підтверджуєте першими) й використовувати ваш особистий контекст у відповідях. Це також напряму підтримує проєкт. Безкоштовний Sasquatch (пошук Spots/подій/тренерів/Crew, глосарій, планувальник подорожей) залишається безкоштовним. Натисніть **⚡ Go Pro** вгорі.", perks: "Переваги Pro 🦧⚡: персональний асистент (ваш Stash/Crews/Spots/оголошення), чернетки дій, які ви підтверджуєте, та відповіді, що використовують ваш власний контекст — до того ж ви зберігаєте застосунок безкоштовним та без реклами. Натисніть **⚡ Go Pro** вгорі.", goPro: "Натисніть кнопку **⚡ Go Pro** вгорі, щоб відкрити вікно оновлення. Pro відкриває мого персонального асистента (Stash/Crews/Spots/оголошення) та чернетки дій, а також напряму підтримує проєкт. Платіть 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, найвигідніше). Натисніть **⚡ Go Pro** вгорі.", howMuchIsPro: "Тарифи Pro: 7 днів ~2 000 sats, 1 місяць ~5 000 sats, 3 місяці ~12 000 sats (знижка 20%), 1 рік ~36 000 sats (найвигідніше). Платіть Lightning ⚡. Натисніть **⚡ Go Pro** вгорі.", upgrade: "Щоб перейти на Sasquatch Pro, натисніть кнопку **⚡ Go Pro** вгорі. Платіть Lightning (від 7 днів ~2k sats до 1 року ~36k). Pro відкриває мого персонального асистента та чернетки дій, а також напряму підтримує проєкт. 🦧⚡" }, statsTitle: "📊 **SkateSpots у цифрах**", weatherTemp: "• {{temp}}°C (відчувається {{feels}}°C)", weatherSkateability: "• Катабельність: **{{label}}** ({{score}}/100)", weatherError: "Не вдалося прочитати погоду зараз. Спробуйте за секунду. 🌧️", labelSpots: "Spots", labelEvents: "події", labelLabPros: "фахівці Lab", labelCrews: "Crews", 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: "Я не бачу вашого місцезнаходження — нічого ніколи не покидає ваш пристрій; я читаю його локально лише коли ви просите, а браузер щойно відмовив. Натисніть 🎯 **Поблизу** на карті або назвіть місто: «Spots у Бангкоку». 🛹", noNearbySpots: "Поблизу ще немає нанесених Spots 🦧 — [будьте першим, хто додасть](https://skate-spots.org/create-spot). 🛹", closestTitle: "Найближчі до вас зараз:", closestFooter: "_Обчислено на вашому пристрої — ваше місцезнаходження його не покидало._", proNudge: "Це річ **Sasquatch Pro** 🦧⚡ — з Pro я можу читати ваш Stash, Crews, Spots та оголошення, готувати чернетки оголошень спорядження, «шукаю» та скейт-статусів і планувати ваші подорожі. Це Lightning-перепустка прихильника, що зберігає SkateSpots безкоштовним та без реклами. Натисніть кнопку **⚡ Go Pro** вгорі, щоб відкрити. 🛹", draftingProPerk: "Готувати чернетки дій (публікація статусу, виставлення спорядження) — це перевага **Sasquatch Pro** 🦧⚡ — натисніть **⚡ Go Pro** вгорі, щоб відкрити.", draftIntro: "Ось чернетка — перегляньте її й натисніть, щоб опублікувати. Нічого не публікується, доки ви не підтвердите. 🛹", draftFailed: "Мені не вдалося до кінця зібрати ту чернетку — спробуйте знову розповісти деталі (напр. «вистав мої Wheels Spitfire за 8000 sats»).", tripAskCity: "Куди? Назвіть місто (напр. «сплануй мені 3 дні в Лісабоні»), і я збудую подорож. 🗺️", tripEmptyMap: "На карті ще нічого немає для **{{destination}}** 🦧 — будьте першим, хто додасть Spots на [skate-spots.org](https://skate-spots.org). Щойно місцеві додадуть Spots, Crews та події, я збудую вам повну подорож.", tripLocked: "Зафіксовано місію **{{destination}}** для вас 🛹 — Spots, сесії та місцеві нижче. Змініть або збережіть.", tripFailed: "Не вдалося отримати живі дані, щоб спланувати це зараз. Спробуйте за мить! 🛹", tripEmptyMapLocal: "На карті ще нічого немає для **{{destination}}** 🦧 — будьте першим на [skate-spots.org](https://skate-spots.org).", tripMissionLocal: "Ось місія **{{destination}}** 🛹 — Spots, сесії та місцеві нижче.", relayFailed: "Relay зараз не відповіли вчасно 🛰️ — зазвичай це повільне з'єднання, а не відсутній Spot. Спробуйте ще раз за мить. 🛹", couldNotProcess: "Хм, не вдалося це обробити. Спробуйте перефразувати!", freeTierFallback: "Це потребує ШІ-міркування — функція **Sasquatch Pro** ⚡🦧\n\nЯ все ще можу знайти **Spots, події, тренерів, Crews, магазини, тури й спорядження** напряму з Relay — спитайте, напр. «Spots у Барселоні» — а [Глосарій](/glossary) охоплює 150+ трюків і термінів. Натисніть **⚡ Go Pro** вгорі, щоб відкрити ШІ-відповіді.", aiDownFallback: "Мій ШІ-мозок зараз бере паузу 🦧 — але я все ще поруч:\n\n• 🗺️ [Карта](/) — Spots, магазини, події поблизу\n• 🧪 [The Lab](/lab) — тренери, оператори, монтажери\n• 📖 [Глосарій](/glossary) — 150+ трюків і термінів\n• 👥 [Crews](/crews) — знайдіть своїх\n\nАбо просто назвіть **місто** («Spots у Барселоні») чи **трюк** («що таке nollie») — і я відповім одразу. 🛹", wentWrong: "Щось пішло не так на моєму боці. Спробуйте за секунду! 🦧", publishError: "Не вдалося опублікувати: {{error}}. Спробуйте за секунду.", unknownError: "невідома помилка" } }; export { ukBatch2 }; export default ukBatch2;