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.
1652 lines
127 KiB
TypeScript
1652 lines
127 KiB
TypeScript
/** 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;
|