SkateSpots/src/i18n/ru/batch2.ts
SkateSpots 6407310213 feat(relay): cut over community relay to self-hosted Newlay
Point SKATE_RELAY, the default relay pools, the DM/CVM/zap relay arrays, the cvm-server + push-service defaults, and the archive default at wss://relay.skate-spots.org, keeping the legacy hosted relay as a fallback during the client-update window. Restored 115/115 archived events; the relay runs behind Caddy with TLS. Docs + AGENTS.md updated.
2026-10-12 12:38:13 +07:00

1652 lines
127 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/** 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;