/** * zh-CN — batch 2: map, spot, DIY, labels, fees, cards, routing and the * Sasquatch assistant. Skate vocabulary stays in English (Spot, Park, Bowl, * Vert, Crew, Deck, Trucks, Wheels, Bearings, Griptape, Ledge, Rail, Stash, * The Lab, Nostr, Lightning, Zap, Relay, sats, NIP-05); trick names remain * English. Placeholders/markdown/URLs preserved. */ const zhCNBatch2 = { mapUi: { mapFooter: { links: "链接", hide: "隐藏地图链接栏", }, findingSpots: "正在寻找 Spot", loadingSpots: "正在加载 Spot", loadingMap: "正在加载地图...", mapViewAria: "地图视图", listViewAria: "列表视图", layers: "图层", mapLayers: "地图图层", showOnMap: "在地图上显示", showResults: "显示结果", quickActions: "快捷操作", spots: "Spot", shops: "商店", gear: "装备", tours: "Tour", events: "活动", crews: "Crew", spotType: "Spot 类型", sortBy: "排序方式", trustLevel: "信任等级", weather: "天气", buySellGear: "买卖装备", stash: "Stash", more: "更多", newHere: "第一次来?", welcomeDesc: "发现滑板 Spot、活动和社区。", getOnZapstore: "在 Zapstore 获取", dismiss: "忽略", addedBy: "添加者", directions: "路线", viewDetails: "查看详情", viewDetailsArrow: "查看详情 →", spotDetails: "Spot 详情", skateShop: "滑板商店", skateSpot: "滑板 Spot", youAreHere: "你在这里", conditions: "状况", weatherScoreSuffix: "天气 {{score}}/100", wind: "风", humidity: "湿度", airQuality: "空气质量", threeDayForecast: "3 天预报", gearForSale: "在售装备({{count}})", viewItems: "查看物品 →", viewAllItems: "查看全部 {{count}} 件物品 →", viewGear: "查看装备 →", localTour: "本地 Tour", meetAt: "集合地点:{{place}}", hours: "{{count}} 小时", level: "{{level}} 级", viewTour: "查看 Tour →", upcomingEvent: "即将举行的活动", viewEvent: "查看活动 →", skateCrew: "滑板 Crew", members: "{{count}} 名成员", since: "始于 {{year}}", viewCrew: "查看 Crew →", acceptsBitcoin: "接受 Bitcoin", boosted: "已推广", website: "网站", offlineSavedSpots: "离线 · 显示已保存的 Spot", cantReachRelays: "无法连接 Relay", relayOnlineNoAnswer: "你在线,但社区 Relay 目前没有响应。", youreOffline: "你处于离线状态。", savedOnDevice: "你看过的 Spot 已保存在本设备上,将在此处显示。", noSpotsMatchTitle: "没有匹配的 Spot", noSpotsMatchDesc: "试试其他搜索词或清除筛选条件。", noSpotsMappedYet: "还没有标记任何 Spot", noSpotsMappedDesc: "第一个标记你的公园吧——只需一分钟,它就是你的,下一位路过的滑手会感谢你。", addFirstSpot: "添加第一个 Spot", findSpotsNearMe: "查找附近的 Spot", locating: "正在定位…", refiningLocation: "正在精确定位…", refiningLocationDesc: "以你上次的 Spot 为中心——正在获取新的 GPS 定位。", locatingYou: "正在定位你…", locatingDesc: "正在获取 GPS 定位。首次可能需要长达一分钟。", foundYou: "找到你了", foundYouDesc: "已将地图居中到你的位置。", locationPermissionNeeded: "需要位置权限", permissionNeededDesc: "在设备的“设置 → 应用 → SkateSpots → 权限”中允许 SkateSpots 使用位置,然后再次点击“附近”。", locationTimedOut: "定位超时", timeoutNativeDesc: "未能及时获取位置。如果你在室内,GPS 看不到卫星——请启用网络定位(设置 → 位置)或走到室外,然后重试。", timeoutWebDesc: "未能及时获取你的位置。请检查信号后重试。", noLocationProvider: "没有定位服务", noProviderNativeDesc: "你的手机未提供位置。在注重隐私的 ROM(如 GrapheneOS)上,请在“设置 → 位置”中启用网络定位,或确保 GPS 已开启并到室外尝试。", noProviderWebDesc: "没有可用的定位服务。请启用定位服务后重试。", locationUnavailable: "位置不可用", unavailableNativeDesc: "请在手机设置中开启位置/GPS,允许 SkateSpots 使用位置(设置 → 应用 → SkateSpots → 权限),然后重试。", unavailableWebDesc: "无法确定你的位置。请确保已启用定位服务。", locationBlocked: "位置被阻止", locationBlockedDesc: "你的浏览器已阻止此网站访问位置。重新启用的方法如下:", locationPlatformAndroid: "Android Chrome", locationPlatformIos: "iOS Safari", locationPlatformDesktop: "桌面版 Chrome", locationPlatformFirefox: "Firefox", locationStepsAndroid: "点击地址栏中的锁形图标 → 网站设置 → 位置 → 允许", locationStepsIos: "“设置”应用 → Safari → 位置 → 允许(或点击 Safari 地址栏中的“AA”按钮)", locationStepsDesktop: "点击锁形图标 → 网站设置 → 位置 → 允许", locationStepsFirefox: "点击锁形图标 → 连接安全 → 更多信息 → 权限 → 访问你的位置 → 允许", gotIt: "知道了", addSpot: "添加 Spot", addShop: "添加商店", addEvent: "添加活动", addSpotHereTitle: "在这里添加 Spot?", addSpotHereDesc: "在你点击的位置放置标记", sellGear: "出售装备", offerTour: "发布 Tour", closeAddMenu: "关闭添加菜单", addMenuAria: "添加 Spot、商店、活动、装备或 Tour", 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: "搜索 Spot...", selected: "已选择", noSpotsFound: "未找到 Spot。试试其他搜索词。", addingSpotsHint: "添加 Spot 有助于其他人在浏览特定位置时找到你", report: "举报", spotSingular: "1 个 Spot", spotPlural: "{{count}} 个 Spot", view: "查看", myCollections: "我的合集", collectionsSubtitle: "把你最喜欢的 Spot 整理成个性化列表", newCollection: "新建合集", loginToCreate: "登录以创建合集", loginToCreateDesc: "将你最喜欢的 Spot 保存到“2024 巴塞罗那之旅”或“洛杉矶最佳 Rail”等个性化列表", noCollections: "还没有合集", noCollectionsDesc: "创建你的第一个合集,开始整理 Spot", createFirstCollection: "创建你的第一个合集", createNewCollection: "创建新合集", createCollectionDesc: "为你的合集取个名字,并可添加描述", collectionName: "合集名称", collectionNamePlaceholder: "2024 巴塞罗那之旅", descriptionOptional: "描述(可选)", descriptionPlaceholder: "我巴塞罗那之旅中最喜欢的 Spot...", creating: "正在创建...", createCollection: "创建合集", editCollection: "编辑合集", saving: "正在保存...", saveChanges: "保存更改", deleteCollectionTitle: "删除合集?", deleteCollectionDesc: "这将永久删除“{{title}}”。Spot 本身不会受到影响。", deleting: "正在删除...", collectionCreated: "合集已创建!", collectionCreatedDesc: "“{{title}}”已准备好添加 Spot", collectionCreateFailed: "创建合集失败", collectionUpdated: "合集已更新!", changesSaved: "你的更改已保存", collectionUpdateFailed: "更新合集失败", collectionDeleted: "合集已删除", collectionDeletedDesc: "“{{title}}”已被移除", collectionDeleteFailed: "删除合集失败", somethingWentWrong: "出了点问题", }, mapPage: { title: "商店与 Spot", spots: "Spot", shops: "商店", filters: "筛选", listView: "列表", mapView: "地图", nearMe: "附近", searchPlaceholder: "搜索 Spot...", noSpotsInArea: "此区域没有 Spot", zoomIn: "放大", zoomOut: "缩小", myLocation: "我的位置", locationsFound: "找到 {{count}} 个地点", spotsOnly: "仅 Spot", shopsOnly: "仅商店", spotsAndShops: "Spot 与商店", noSpotsMatch: "没有符合筛选条件的 Spot。", noSpotsYet: "还没有添加任何 Spot。", addFirstSpot: "添加第一个 Spot", }, spotUi: { claim: { areYouOwner: "这是你的 Spot 吗?", privateDesc: "此 Spot 被标记为私人。如果你拥有或管理它,请认领——SkateSpots 版主确认所有权后,你即可接管该条目。", claimSpot: "认领此 Spot", nip05Required: "认领私人 Spot 需要已验证的 NIP-05 标识(证明你掌控某个 Nostr 身份)。请先在你的个人资料中添加一个,然后再回来。", addNip05: "在设置中添加 NIP-05", pendingTitle: "认领待审核", pendingDesc: "你的认领已提交。SkateSpots 版主将进行审核——审核通过后你即可完成认领。", approvedTitle: "认领已批准", approvedDesc: "版主已批准你的认领。完成操作即可成为此 Spot 的所有者。", complete: "完成认领", submitted: "认领已提交", submittedDesc: "版主将审核你的认领。审核通过后你即可接管此 Spot。", submitFailed: "无法提交认领", submit: "提交认领", submitting: "正在提交…", confirmTitle: "认领“{{title}}”?", confirmIntro: "你正在申请成为此私人 Spot 的所有者。", confirmBullet1: "SkateSpots 版主会审核该请求(我们无法核实产权,只能核实 Nostr 密钥)", confirmBullet2: "若获批准,你完成认领即可成为所有者并编辑该 Spot", confirmBullet3: "原始 Spot 仍保留在 Nostr 上——网络是去中心化的", adminTitle: "待处理的所有权认领", adminApprove: "批准", adminApproved: "已批准", adminApprovedDesc: "他们现在可以完成认领此 Spot。", adminApproveFailed: "无法批准该认领", loginRequired: "登录以认领此私人 Spot,或申请所有权。", }, abandonedDesc: "最后更新于 {{time}}。如果原所有者不活跃,你可以认领此 Spot 来维护和改进它。", claimedNotice: "已认领的条目", claimedNoticeDesc: "此 Spot 在认领后由新所有者重新发布。原始条目可能仍单独存在。", abandonedLoginDesc: "最后更新于 {{time}}。登录以认领并维护此 Spot。", accessDeniedDesc: "你只能编辑自己创建的 Spot。", accessDeniedTitle: "访问被拒绝", addAtLeastOneTag: "请至少添加一个标签。", additionalDetails: "其他详情(可选)", additionalDetailsPlaceholder: "提供任何可能有帮助的其他背景信息...", addNewTags: "添加新标签:", addNip05InSettings: "在设置中添加 NIP-05", addPhoto: "添加照片", addPhotoDesc: "贡献一张照片,帮助他人发现此 Spot。", addPhotoOrDescription: "添加照片或描述", addPhotoOrDescriptionDesc: "给滑手们一些参考——一张照片,或一句关于此地的描述。", addPhotos: "添加照片", addPhotoToSpot: "为 Spot 添加照片", adminDeleteDialogDesc: "作为 SkateSpots 管理员,你正在下架“{{title}}”。它将在整个应用中对所有人隐藏,并向 Relay 发送删除请求。", adminDeleteReason: "SkateSpots 管理员移除了 Spot“{{title}}”", airQuality: "空气质量", altSkateSpot: "滑板 Spot:{{title}}", areYouShopOwner: "你是这家商店的店主吗?", askBeforeSkating: "滑行前先询问", backToSpot: "返回 Spot", beFirstToListGear: "成为第一个在此 Spot 列出装备的人!", beFirstToSay: "成为第一个发言的人。", byAuthor: "作者 {{name}}", captionPlaceholder: "添加说明(可选)——描述照片内容、拍摄时间等。", chatPublicNote: "任何人都可以阅读此内容——消息是公开且短暂的。私人聊天请使用私信。", checkPinBelow: "添加重复项前,请检查下方的标记。", claimBullet1: "你成为所有者,可以编辑该 Spot", claimBullet2: "原始 Spot 仍然保留(Nostr 是去中心化的)", claimBullet3: "你的版本可能与原始版本同时出现", claimFailed: "认领失败", claiming: "正在认领...", claimIntro: "你即将认领此 Spot 的所有权。这会创建你自己版本的 Spot,你可以编辑和维护它。", claimSpot: "认领 Spot", claimThisSpot: "认领此 Spot", claimTitle: "认领“{{title}}”?", claimWhatHappens: "认领后会发生什么:", coachesAndFilmersAvailable: "此 Spot 有可用的教练和摄像师", coachesCount: "教练({{count}})", coachHere: "此处教练", community: "社区", communityVerified: "社区已验证", communityVerifiedTitle: "另一位滑手在这里做出了贡献(照片或状态报告)。", conditions: "状况", contactForPermission: "联系以获得许可", contactInfo: "联系信息", contributePhoto: "贡献照片", contributing: "正在贡献...", couldNotSendMessage: "无法发送消息。", couldNotSubmit: "无法提交", couldNotUploadPhoto: "无法上传照片。你可以在下方添加一张。", crewsThatSkateHere: "在此滑行的 Crew", current: "当前:", currentTags: "此 Spot 的当前标签:", daysAgo: "{{count}} 天前", daysAgoPlural: "{{count}} 天前", deleteDialogDesc: "这将从所有 Relay 中永久删除“{{title}}”。此操作无法撤销。", deletedSpotReason: "已删除的 Spot", deleteFailed: "删除失败", deleteSpot: "删除 Spot", deleteSpotTitle: "删除 Spot?", differentSpotPublishAnyway: "这是不同的 Spot——仍然发布", dragDropOrClick: "拖放或点击", dropPhotos: "拖放照片", duplicateOne: "你的标记 60 米内已有一个 Spot。如果是同一个地方,请在那里添加照片或状态报告,而不是创建重复项。", duplicateOther: "你的标记 60 米内已有 Spot。如果是同一个地方,请在那里添加照片或状态报告,而不是创建重复项。", editSpotSeoDesc: "编辑你的滑板 Spot。", failedToContribute: "贡献失败", failedToPublish: "发布失败", failedToPublishDesc: "出了点问题。请查看控制台了解详情。", failedToSubmitReport: "提交举报失败", failedToSuggestTags: "推荐标签失败", failedToUpdate: "更新失败", failedToUploadImage: "上传图片失败", failedToUploadPhoto: "上传照片失败", feelsLikeTemp: "体感 {{temp}}°C", filmersCount: "摄像师({{count}})", filmHere: "在此拍摄", gearSwap: "装备交换", geolocationNotSupported: "不支持地理定位", geolocationNotSupportedDesc: "你的浏览器不支持地理定位。", getDirections: "获取路线", hangTight: "稍等", hangTightDesc: "你的照片仍在上传中。马上就会附加完成。", helpImproveSpot: "通过添加照片或推荐标签来帮助改进此 Spot", hiddenByModerator: "已被版主隐藏", hiddenByModeratorDesc: "此 Spot 不会显示在地图或搜索中。你仍能看到它,因为它是你创建的。编辑它不会取消隐藏——在版主撤销裁决之前它会一直隐藏。", humidity: "湿度", imageUploaded: "图片已上传", imageUploadedDesc: "你的图片已成功上传。", imHere: "我在这里", invalidCoordinates: "无效的坐标", invalidCoordinatesDesc: "请输入有效的纬度(-90 到 90)和经度(-180 到 180)。", invalidNpub: "无效的 npub", invalidNpubDesc: "请输入有效的 npub 地址。", lastReported: "最近 {{time}}", listGear: "列出装备", listYourGearHere: "在此列出你的装备", loadingChat: "正在加载聊天…", locationError: "定位错误", locationFound: "已找到位置", locationFoundDesc: "你的当前位置已设置。", locationRequired: "需要位置", locationRequiredDesc: "请输入坐标或使用你的当前位置。", loginRequiredTitle: "需要登录", logInToChat: "登录以加入本地聊天。", logInToContributePhotos: "登录以贡献照片", loginToEditSpot: "你需要登录才能编辑此 Spot。", logInToReport: "你需要登录才能举报内容。", logInToReportStatus: "登录以报告此 Spot 的状态。", logInToSuggestTags: "登录以推荐标签", manageNip05ToClaim: "管理 NIP-05 以认领", meetAtSpotForPickup: "💡 在此 Spot 碰面以便安全取货", memberOne: "{{count}} 名成员", memberOther: "{{count}} 名成员", messageFailed: "消息发送失败", messageMapper: "给标记者留言", messagePlaceholder: "给此 Spot 留言…(试试 /me 或 /who)", messagesHiddenOne: "{{count}} 条消息被你的信任筛选隐藏。降低筛选等级以查看更多。", messagesHiddenOther: "{{count}} 条消息被你的信任筛选隐藏。降低筛选等级以查看更多。", messagesHiddenShortOne: "{{count}} 条消息被你的信任筛选隐藏", messagesHiddenShortOther: "{{count}} 条消息被你的信任筛选隐藏", metresAway: "距离 {{distance}} 米", moderatorVouchedDesc: "版主审核了此 Spot 并为其背书。干得漂亮。", monthsAgo: "{{count}} 个月前", monthsAgoPlural: "{{count}} 个月前", newOwnerNpub: "新所有者的 npub", newOwnerNpubHint: "输入你想将此后 Spot 转让给其的用户的 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: "成为第一个确认此 Spot 的人", verifyNudgeBody: "一张照片或一句“我在这里滑过”就是 Spot 获得验证的方式——帮下一位滑手一把。", verifyNudgeStatus: "我在这里滑过", communityChip: "社区", seenChip: "已见", noGearListedYet: "还没有列出装备", noMessagesYet: "此本地频道还没有消息。打个招呼吧——“今晚有人滑吗?”", noPhoto: "没有照片", noReportsYet: "还没有举报", noTags: "没有标签", notASkateSpot: "不是滑板 Spot", offerServicesHere: "💡 在此 Spot 提供你的服务", photoCaptured: "照片已拍摄!", photoCapturedDesc: "你的照片已成功上传。", photoContributed: "照片已贡献!", photoContributedDesc: "你的照片已添加到此 Spot。", photosAdded: "你的照片已添加。", photosRecommended: "强烈推荐——没有照片的 Spot 会一直标记为未验证", photosUploaded: "已上传 {{count}} 张照片", photoUploaded: "照片已上传", photoUploadedDesc: "添加说明并提交以贡献!", photoUploadFailed: "照片上传失败", pleaseTryAgain: "请重试", public: "公开", publicChatTitle: "任何人都可以阅读此频道中的消息——它是公开且未加密的。", recentReports: "最近的举报", recipientRequired: "需要收件人", recipientRequiredDesc: "请输入新所有者的 npub。", removeAdmin: "移除(管理员)", removeSpot: "移除 Spot", removeSpotAdminTitle: "移除此 Spot?(管理员)", reportOne: "举报", reportContent: "举报内容", reportContentDesc: "通过举报不当内容来帮助维护社区安全。", reportedBySkaters: " 被 {{count}} 名滑手举报——正在审核中。如果这是真实的 Spot,请添加照片或状态报告以确认它。", reportedNotASpot: "被举报为非滑板 Spot", reportingType: "举报 {{type}}", reports: "举报", reportShop: "举报商店", reportSpot: "举报 Spot", reportStatus: "举报状态", reportSubmitted: "举报已提交", reportSubmittedDesc: "感谢你帮助维护 SkateSpots 的安全。", reportSubmittedLong: "感谢你帮助维护 SkateSpots 的安全与准确。你的举报将由值得信赖的社区成员审核。", reportSubmittedTitle: "举报已提交", report: { notASkateSpot: { label: "不是滑板 Spot", description: "测试条目,或完全不适合滑板的地方", }, fakeSpot: { label: "虚假/不存在的 Spot", description: "此 Spot 不存在或位置错误", }, stolenPhotos: { label: "盗用/虚假照片", description: "照片是图库图片或从别处盗用", }, spamAd: { label: "垃圾信息或广告", description: "宣传内容或重复条目", }, dangerousLocation: { label: "危险地点", description: "私人领地、不安全或进入违法", }, inappropriateContent: { label: "不当内容", description: "包含冒犯性或成人内容", }, impersonation: { label: "冒充他人", description: "有人冒充他人", }, other: { label: "其他", description: "以上未列出的其他情况", }, }, targetType: { spot: "Spot", event: "活动", tour: "Tour", shop: "商店", user: "用户", listing: "商品", coach: "教练", filmer: "摄像师", }, sameOwner: "同一所有者", sameOwnerDesc: "无法转让给当前所有者。", saveChanges: "保存更改", saving: "正在保存...", services: "服务", shareSpotText: "快来看看这个滑板 Spot:{{title}}", shelter: "遮蔽", shelterHint: "此 Spot 是否暴露在天气中?帮助滑手在下雨时找到干燥的 Spot。", shopClaimDesc: "如果你拥有或管理这家商店,可以认领它以验证所有权并管理条目。", shopClaimNip05Hint: "要认领这家商店,请添加与商店网站域名匹配的 NIP-05 标识。", skatersActiveDesc: "过去 24 小时内在此频道发帖的人。", skatersActiveOne: "此处有 {{count}} 名滑手活跃", skatersActiveOther: "此处有 {{count}} 名滑手活跃", skatersSellingGear: "此 Spot 的滑手正在出售装备", skateSpot: "滑板 Spot", somethingWentWrong: "出了点问题", spot: "Spot", spotAdded: "Spot 已添加!", spotAddedDesc: "你的滑板 Spot 已发布到网络。", spotAddedNoPhoto: "已发布——在有人添加照片之前会标记为未验证。一张 Spot 的照片意义重大。", spotChat: "Spot 聊天", spotClaimed: "Spot 已认领!", spotClaimedDesc: "你现在是此 Spot 的所有者。你可以从个人资料中编辑它。", spotDeleted: "Spot 已删除", spotDeletedDesc: "删除请求已发送到 Relay。大多数 Relay 会移除此内容。", spotMayAlreadyBeOnMap: "该 Spot 可能已经在地图上", spotMayAlreadyExist: "此 Spot 可能已存在", spotMayBeAbandoned: "Spot 可能已被遗弃", spotPhotoAlt: "Spot", spotRemoved: "Spot 已移除", spotRemovedDesc: "此 Spot 已被下架,将在整个 SkateSpots 中隐藏。", spotSeoDesc: "在 SkateSpots 上查看这个滑板 Spot。", spotStatus: "Spot 状态", spotStatusDesc: "“{{title}}”还能滑吗?让社区了解它的当前状态。", spotTypeRequired: "需要 Spot 类型", spotTypeRequiredDesc: "请选择一个 Spot 类型,让滑手知道他们要去的是什么地方。", spotUpdated: "Spot 已更新!", spotUpdatedDesc: "你的更改已发布到网络。", staffVerifiedTitle: "SkateSpots 管理员审核并为此 Spot 背书。", statusNotePlaceholder: "可选:添加详情(例如“Ledge 上装了新防滑钉”“保安下午 6 点后赶人”)", statusReported: "状态已报告", statusReportedDesc: "感谢你保持地图的新鲜。你的报告已生效。", submitReport: "提交举报", submitting: "正在提交...", suggestedByUser: "由 {{count}} 名用户推荐", suggestedByUsers: "由 {{count}} 名用户推荐", suggestedTagsContent: "为 {{title}} 推荐的标签:{{tags}}", suggestNTags: "推荐 {{count}} 个标签", suggestOneTag: "推荐 1 个标签", suggestTags: "推荐标签", suggestTagsDesc: "通过推荐相关标签帮助为此 Spot 分类。", tags: "标签", tagsHint: "添加标签以描述特征、地面、氛围(最多 {{max}} 个)", tagsSuggested: "标签已推荐!", tagsSuggestedDesc: "你的标签推荐已提交。", takePhoto: "拍照", threeDayForecast: "3 天预报", tipTheMapper: "给标记者打赏", tipTheMapperDesc: "觉得这个 Spot 有用?发个 Zap 感谢标记者吧!", titleRequired: "需要标题", titleRequiredDesc: "请为此 Spot 输入名称。", today: "今天", tomorrow: "明天", transferDesc: "将“{{title}}”转让给另一位用户。此操作无法撤销。", transferFailed: "转让失败", transferOwnership: "转让所有权", transferRequestContent: "Spot“{{title}}”的所有权转让请求", transferRequested: "已请求转让", transferRequestedDesc: "新所有者需要认领该 Spot 才能完成转让。", transferring: "正在转让...", transferSpotOwnership: "转让 Spot 所有权", transferWarningDesc: "转让后,你将无法再编辑或删除此 Spot。", typeToSearchTags: "输入以搜索或添加标签...", underReview: "——正在审核中。如果这是真实的 Spot,请添加照片或状态报告以确认它。", untitledSpot: "未命名 Spot", unverified: "未验证", updateDetailsFor: "更新 {{title}} 的详情", updateSpotDesc: "更新此 Spot 的信息。所有标有 * 的字段均为必填。", uploadAPhoto: "上传照片", uploadAPhotoHint: "拖放或点击 · JPG、PNG、WebP", uploadedAlt: "已上传", uploadFailed: "上传失败", uploadingPhoto: "正在上传照片…", uploadPhotoFirst: "请先上传一张照片。", uvIndex: "紫外线指数", verifiedBySkateSpots: "SkateSpots 已验证", viewPhotoFullScreen: "全屏查看照片", viewPhotoOf: "查看第 {{n}} 张照片,共 {{total}} 张", warning: "警告", weatherConditions: "天气状况", weatherOnly: "仅天气", weatherOnlyUnconfirmed: "仅天气。还没有人确认这是滑板 Spot,所以没有状况评分——添加照片或状态报告以确认它。", whyReporting: "你为什么要举报?", wind: "风", yearsAgo: "{{count}} 年前", yearsAgoPlural: "{{count}} 年前", }, diyUi: { title: "DIY —— 自己动手做", tagline: "指南、开源工具和图纸,帮你打造自己的 Deck、坡道和水泥 Spot——再去寻找配套的人、地点和市场。", doItWithPeople: "和大家一起做", backToDiy: "返回 DIY", calc: { title: "Deck 成本计算器", intro: "制作一块 Deck 的成本——人工、设备、材料、工序时间、包装和利润——以及合理的售价。保存在本设备上。", }, designer: { title: "Deck 设计器", intro: "绘制滑板或长板的外形轮廓,然后导出可打印的 1:1 模板、SVG 或用于 CNC 的 DXF。保存在本设备上。", presets: "预设", dimensions: "尺寸", shape: "形状", kicks: "翘头", hardware: "Trucks 孔位", width: "最大宽度", wheelbase: "轴距", nose: "板头长度", tail: "板尾长度", length: "总长度", waist: "腰部", endRound: "端部圆度", concave: "凹度", thickness: "厚度", tailKick: "板尾翘度", noseKick: "板头翘度", holeNew: "新式(2.125″)", holeOld: "老式(2.5″)", holeSpacing: "新式孔距为 2.125″ × 1.625″(54 × 41 mm);老式为 2.5″ × 1.625″。3/16″ 安装孔。", topView: "俯视图", sideView: "侧视图", concaveSection: "凹面截面", export: "导出", pdfA4: "1:1 PDF · A4", pdfLetter: "1:1 PDF · Letter", printNote: "以 100% 比例打印 PDF(不要“适应页面”),然后用角上的十字标记拼接纸张。SVG 也是真实尺寸。", note: "这是你描摹和切割的 2D 轮廓。对于完整 3D 形状和模具设计,真正的 CAD 工具仍是更好的选择。", }, source: "来源", comingSoon: "即将推出", footer: "分步指南即将推出。目前:在 The Lab 寻找制作的人,在地图上标记你的 Spot,并在 Marketplace 上买卖。安全作业——护具、手套和护目镜。", categories: { boards: "板面", ramps: "坡道与木制障碍", concrete: "水泥与 DIY Spot", repairs: "维修与调试", tools: "工具与图纸", }, cards: { ossBuild: { title: "制作一块滑板", blurb: "分步的 Deck 制作——木皮、模具、压机和收尾。" }, sk8cad: { title: "SK8CAD", blurb: "用于 Deck 形状、凹面和模具设计的开源 CAD。" }, deckCost: { title: "Deck 成本与定价", blurb: "在制作之前算清材料、人工和合理售价。" }, deckDesigner: { title: "Deck 设计器", blurb: "绘制轮廓并打印 1:1 模板——或导出 SVG/DXF 用于 CNC。" }, ledgeBox: { title: "制作 Ledge 或箱子", blurb: "一个适合新手的木制障碍,一个周末就能做好。" }, quarterpipe: { title: "制作 quarterpipe", blurb: "后院 mini 的坡道图纸、过渡和 coping。" }, flatbar: { title: "制作 flatbar", blurb: "便宜、便携,是学习 Rail 的最佳方式。" }, concreteBasics: { title: "水泥基础", blurb: "搅拌、支模和收尾,做出能持久的 Ledge 或斜面。" }, coping: { title: "Coping 与边缘", blurb: "如何安装 coping 并做好过渡,让 grind 更顺滑。" }, buyParts: { title: "购买零件与装备", blurb: "在 Marketplace 向卖家购买 Deck、五金和工具。" }, mapSpot: { title: "标记你的 DIY Spot", blurb: "做成了什么?把它添加到地图上,让别人也能找到并滑它。" }, regrip: { title: "重新贴 Griptape", blurb: "撕掉旧 Griptape,平整地贴上新的。" }, tune: { title: "调试 Bearings 与 Trucks", blurb: "清洁 Bearings、更换衬套并调整 Trucks 的几何。" }, printMolds: { title: "3D 打印模具", blurb: "来自社区的可打印模具和对齐底座文件。" }, sk8cadTools: { title: "模具与对齐工具", blurb: "设计内置对齐底座的模具。" }, }, actions: { findBuilder: { title: "寻找建造者", blurb: "The Lab 中能为你设计或浇筑坡道和 DIY 的建造者。" }, findCrew: { title: "寻找 DIY Crew", blurb: "专注于建造的 Crew——加入那些把 Spot 变成现实的人。" }, mapSpot: { title: "标记一个 DIY Spot", blurb: "添加你建造的 Spot,让它出现在地图上。" }, sellBuilds: { title: "出售你的作品", blurb: "在 Marketplace 列出你制作的 Deck、坡道或零件。" }, findCoach: { title: "寻找教练", blurb: "教授 DIY 滑板课程和 Spot 建造的教练。" }, }, }, labelsUi: { spotCategory: { street: { label: "街式", description: "随机发现的 Spot、城市地形", }, transition: { label: "过渡", description: "弧形/坡道地面", }, park: { label: "Park", description: "建造的滑板公园", }, plaza: { label: "广场", description: "城市广场(如 MACBA、Love Park)", }, }, spotFeature: { wallrides: "Wallrides", stairs: "台阶与扶手", rails: "Rail", ledges: "Ledge 与路缘", gaps: "Gap", flatground: "平地", "manual-pads": "Manual 台", "half-pipes": "Half Pipe", "quarter-pipes": "Quarter Pipe", "mini-ramps": "Mini Ramp", bowls: "Bowl", vert: "Vert Ramp", "mega-ramps": "Mega Ramp", hubbas: "Hubba", "euro-gaps": "Euro Gap", banks: "斜面", "spine-ramps": "Spine Ramp", "roll-ins": "Roll-in", hips: "Hip", volcano: "Volcano", pyramids: "金字塔 / Funbox", "snake-runs": "Snake Run", "pump-track": "Pump Track 波浪", "flat-bars": "Flat Bar", }, spotType: { street: "街式", transition: "过渡", park: "Park", plaza: "广场", wallrides: "Wallrides", stairs: "台阶与扶手", rails: "Rail", ledges: "Ledge 与路缘", gaps: "Gap", flatground: "平地", "manual-pads": "Manual 台", "half-pipes": "Half Pipe", "quarter-pipes": "Quarter Pipe", "mini-ramps": "Mini Ramp", bowls: "Bowl", vert: "Vert Ramp", "mega-ramps": "Mega Ramp", hubbas: "Hubba", "euro-gaps": "Euro Gap", banks: "斜面", "spine-ramps": "Spine Ramp", "roll-ins": "Roll-in", hips: "Hip", volcano: "Volcano", pyramids: "金字塔 / Funbox", "snake-runs": "Snake Run", "pump-track": "Pump Track 波浪", "flat-bars": "Flat Bar", 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: "Demo", session: "Session", workshop: "工作坊", premiere: "首映", tradeshow: "展销会", gameskate: "Game of Skate", concert: "🎸 音乐会", jam: "🎵 Jam", festival: "🎪 音乐节", popup: "🎯 快闪", }, gearCategory: { deck: "Deck", trucks: "Trucks", wheels: "Wheels", bearings: "Bearings", shoes: "滑板鞋", clothing: "服装", protective: "护具", stickers: "贴纸", wax: "蜡", tools: "工具", griptape: "Griptape", rubbrick: "磨石", }, gearCondition: { new: { label: "全新", description: "从未使用,仍在包装中", }, like_new: { label: "几乎全新", description: "几乎没用过,状况极佳", }, good: { label: "良好", description: "正常磨损,功能完好", }, well_used: { label: "使用较多", description: "有磨损但仍可正常使用", }, }, priceType: { fixed: { label: "固定价格", description: "以美元或 sats 设定的价格", }, free: { label: "免费", description: "赠送", }, trade: { label: "交换", description: "想换物", }, offer: { label: "接受出价", description: "价格可议", }, }, listingType: { selling: { label: "出售", description: "列出待售装备", }, wtb: { label: "想买", description: "寻找特定装备", }, }, tour: { spotType: { street: "街式", park: "Park", diy: "DIY", transition: "过渡", hidden: "隐藏宝地", }, category: { local: { label: "本地 Tour", description: "带你看你所在城市的隐藏 Spot", }, national: { label: "全国 Tour", description: "横跨全国的多城市公路之旅", }, international: { label: "国际 Tour", description: "跨越多个国家的跨境冒险", }, destruction: { label: "世界毁灭之旅", description: "KOTR 风格的全球团队竞赛", }, }, }, crew: { vibe: { street: "街式", transition: "过渡 / Vert", park: "Park", diy: "DIY", cruising: "巡航 / 拍摄", oldschool: "老派", allterrain: "全地形", girls: "女生 / 女性", youth: "青少年 / 小孩", adaptive: "适应性", punk: "朋克", hiphop: "说唱 / Hip-Hop", }, focus: { mixed: "混合 / 综合", builder: "DIY 与建造者", photo: "摄影与摄像", coaching: "教学", art: "艺术与设计", music: "乐队与音乐", wellness: "训练与理疗", }, focusDescription: { mixed: "一个普通滑板 Crew——只显示在 Crew 页面上。", builder: "一个 DIY / 公园建造 Crew——也会显示在 The Lab 的建造者下。", photo: "一个摄像、摄影或剪辑 Crew——也会显示在 The Lab 的摄影与摄像下。", coaching: "一个教学 / 课程 Crew——也会显示在 The Lab 的教学下。", art: "一个艺术、设计、涂鸦或纹身团体——也会显示在 The Lab 的艺术与设计下。", music: "一个乐队或音乐团体——也会显示在 The Lab 的音乐下。", wellness: "一个训练、健身或理疗 Crew——也会显示在 The Lab 的训练下。", }, lookingFor: { filmer: "摄像师", photographer: "摄影师", editor: "视频剪辑", coach: "教练", builder: "坡道建造者", artist: "艺术家 / 设计师", musician: "乐手 / 乐队", members: "新成员", }, role: { filmer: "摄像师", photographer: "摄影师", editor: "剪辑", coach: "教练", builder: "建造者", artist: "艺术家", graffiti: "涂鸦", tattoo: "纹身", trainer: "训练师", musician: "乐手", judge: "裁判", manager: "团队经理", og: "OG", }, }, memberVisibility: { public: { label: "公开", description: "任何人都能在公开的 Crew 页面和队友发现中看到你。", }, crew: { label: "仅 Crew 可见", description: "只有已确认的队友和创始人能在这里看到你。对其他人来说,你显示为匿名的“隐藏成员”。注意:这是应用层面的隐私——你的成员标签仍然公开存在于 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: "街式", description: "街式 Spot——台阶、Rail、Ledge", }, park: { label: "Park", description: "滑板公园——公共或私人", }, diy: { label: "DIY", description: "DIY / 自制 Spot", }, plaza: { label: "广场", description: "适合滑板的公共广场建筑", }, }, status: { active: { label: "可滑", description: "状态良好——放心去滑。", }, bust: { label: "易被赶", description: "被赶风险高——有保安或警察。", }, skate_stopped: { label: "防滑处理", description: "被加装防滑钉/封盖,但仍可部分滑行。", }, closed: { label: "关闭", description: "暂时关闭——施工或活动。", }, gone: { label: "已消失", description: "被拆除、铺平或永久围封。", }, }, price: { free: "免费", trade: "交换", makeOffer: "接受出价", offer: "出价", }, }, feesUi: { feeFeaturedEventLabel: "推荐活动", feeFeaturedEventDesc: "在 SkateSpots 上推荐你的活动", feeFeaturedEventBenefit: "你的活动会出现在活动页面顶部", feeLabProfileLabel: "The Lab 专业资料", feeLabProfileDesc: "在 The Lab 中推荐你的服务", feeLabProfileBenefit: "滑手浏览 The Lab 时获得专业徽章和推荐位置", feeFeaturedShopLabel: "推荐商店", feeFeaturedShopDesc: "在地图和目录中推荐你的滑板商店", feeFeaturedShopBenefit: "已验证徽章 + 地图上的推荐标记", feeFeaturedTourLabel: "推荐 Tour", feeFeaturedTourDesc: "在 SkateSpots 上推荐你的 Tour", feeFeaturedTourBenefit: "滑手浏览 Tour 时获得专业徽章和置顶位置", 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: "请使用下方的二维码或发票手动支付。", payStatusUnknown: "支付状态未知——款项可能已支付。再次支付前请先检查你的钱包。", invoiceCopied: "发票已复制!", activeBang: "{{label}} 已生效!", chooseDuration: "选择时长", bestValue: "最超值", perDay: "{{price}}/天", validFor: "有效期", amountLine: "约 ${{usd}} USD · 支付给 {{name}} · {{tier}}", payToContinue: "支付 {{amount}} sats 以继续", generating: "正在生成发票…", processing: "正在处理付款…", invoiceQrAlt: "Lightning 发票二维码", copyInvoice: "复制发票", openWallet: "打开钱包", payConnected: "使用已连接的钱包支付", scanAny: "用任意 Lightning 钱包扫描", tryAgain: "重试", proReceiptTitle: "🦧⚡ Sasquatch Pro —— 你已加入!", proReceiptPass: "通行证:{{pass}}({{sats}} sats)", proReceiptActiveUntil: "有效期至:{{until}}", proReceiptUnlocked: "你解锁了:", proReceiptBullet1: "• 个人助理——我读取你的 Stash、Crew、Spot 和商品", proReceiptBullet2: "• 操作草稿——列出装备、发布 Spot 状态、规划旅行(由你确认)", proReceiptBullet3: "• 使用你个人背景的答案,而不只是公开数据", proReceiptBullet4: "• ⚡ 你直接在支持 SkateSpots,让它保持免费且无广告", proReceiptThanks: "感谢你让 SkateSpots 保持免费且无广告。现在去滑吧。🛹", proReceiptSubject: "Sasquatch Pro 收据", receiptContent: "Sasquatch Pro —— {{tier}} 支持者通行证 🦧⚡", receiptAlt: "Sasquatch Pro 支持者通行证({{tier}}),有效期至 {{until}}", purchaseComment: "Sasquatch Pro —— {{tier}} 🦧", errLogin: "登录以升级到 Pro。", errStart: "无法开始购买。", errRecord: "无法记录你的通行证。", }, cardUi: { save: "将卡片保存到 Nostr", saved: "卡片已保存", savedDesc: "你的卡片现已签名并可验证。", saveFailed: "无法保存卡片", notPublished: "未发布", titleNeon: "Rider", titleRest: "Card", saveFrontPng: "保存正面(PNG)", expired: "已过期", logoUploaded: "Logo 已上传", logoUploadFailed: "无法上传 Logo", venue: "关联场地(可选)", venueNone: "无场地", venueHint: "选择你自己的一个 Spot,将此通行证绑定到某个场地。验证者会确认你拥有它。", venuePick: "选择你的场地", parkNoVenue: "Park 通行证只能由场地所有者签发——请先标记一个你拥有的 Spot。", parkAddVenue: "添加 Spot", parkNeedsVenue: "选择你拥有的场地", parkIssued: "已签发的通行证", parkRevoke: "撤销", parkRevoked: "已撤销", parkRevokeFailed: "无法撤销", v: { valid: "有效", validDesc: "签名有效,且由该场地签发。", expired: "已过期", expiredDesc: "已超过有效期。", revoked: "已撤销", revokedDesc: "签发者已取消此通行证——请勿接受。", invalid: "无效", invalidDesc: "签名无法验证。请勿信任。", notFound: "未找到", notFoundDesc: "Relay 上没有匹配的记录。", unverifiedIssuer: "未验证的签发者", unverifiedIssuerDesc: "此通行证所指的场地并非由签发者的密钥拥有。", notBound: "未绑定", notBoundDesc: "未绑定到场地——无法证明任何准入权限。", noRsvp: "无 RSVP", noRsvpDesc: "持有者没有此活动的 RSVP 记录。", admitted: "已准入", admittedDesc: "组织者的活动 + 持有者已 RSVP。", noHolder: "链接中没有持有者", noHolderDesc: "此二维码没有票据持有者(`?h=`),因此无法核对持有者。", }, passes: { tab: "我的通行证", pass: "准入通行证", none: "还没有通行证。当场地或组织者为你签发时,它会显示在这里。", }, facets: { title: "显示身份特征", crews: "Crew", local: "本地", roles: "The Lab 角色", }, roles: { coach: "教练", filmer: "摄像师", editor: "剪辑", photographer: "摄影师", builder: "建造者", artist: "艺术家", graffiti: "涂鸦", tattoo: "纹身", trainer: "训练师", musician: "乐手", judge: "裁判", organizer: "组织者", barber: "理发师", }, crew: { crewCard: "CREW CARD", crewSub: "你的 Crew,印在卡片上", pick: "选择一个 Crew", none: "你还没有加入任何 Crew——请先加入或创建一个。", hint: "卡片由 Crew 自己签名的数据生成。要更改它,请在 Crew 页面编辑。", members: "成员", spots: "SPOT", 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: "来自你的 Skater 资料", noSkaterProfile: "还没有 Skater 资料——", editSkaterProfile: "添加你的风格和等级", noPhoto: "还没有头像——", addPhoto: "在个人资料中添加一张", finishTitle: "完善你的卡片", finishDesc: "一张照片和一份 Skater 资料能让它看起来更真实。", checkPhoto: "头像", checkName: "显示名称", checkProfile: "风格和等级", checkCrew: "加入一个 Crew", moreTypes: "当你标记自己拥有的 Spot、加入 Crew 或 RSVP 活动时,会解锁更多卡片类型。", accent: "强调色", accentHint: "覆盖主题强调色", accentClear: "使用主题颜色", logo: "自定义 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: "Rider Card", kindCrew: "Crew Card", 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: "扫描卡片上的二维码以验证它。", }, }, 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}} km/h", 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 规划的旅行——在 {{destination}} 的 {{count}} 天。", tripCollectionDescOne: "The Sasquatch 规划的旅行——在 {{destination}} 的 {{count}} 天。", tripSavedTitle: "已保存到合集 🦧", tripSavedDesc: "你的 {{destination}} 之旅已收藏。", tripSaveFailed: "无法保存", tripSaveFailedDesc: "请稍后重试。", daysInDestinationOne: "在 {{destination}} 的 {{count}} 天", daysInDestination: "在 {{destination}} 的 {{count}} 天", wetForecast: "雨天预报——找本地 Crew 推荐有遮蔽/室内的选项。", dayLabel: "第 {{n}} 天", freeSkate: "自由滑行——探索并拍摄。🎥", tapToBook: "点击预订 / Zap ⚡", localCrews: "本地 Crew", saving: "正在保存…", savedToCollections: "已保存到合集", saveSpotOne: "保存 {{count}} 个 Spot 到合集", saveSpots: "保存 {{count}} 个 Spot 到合集", flights: "航班", stays: "住宿", gettingAround: "出行", noMiddleman: "我负责规划滑板行程——航班和住宿会在真实网站上打开(无 KYC,无中间商)。", ageJustNow: "刚刚", ageMinAgo: "{{count}} 分钟前", ageHourAgo: "{{count}} 小时前", ageDayAgo: "{{count}} 天前", skateRightHere: "就在这里", skateMin: "约 {{count}} 分钟滑行", skateHours: "约 {{hours}} 小时滑行", maneuver: { headOut: "出发", arrive: "到达 Spot", continueStraight: "继续直行", bearLeft: "向左偏", bearRight: "向右偏", turnLeft: "左转", turnRight: "右转", sharpLeft: "急左转", sharpRight: "急右转", turn: "转弯", keepLeft: "靠左", keepRight: "靠右", takeFork: "走岔路", merge: "汇入", roundabout: "进入环岛", takeRamp: "走匝道", takeExit: "驶出出口", }, maneuverOnto: "{{instruction}}进入 {{road}}", }, sasquatchUi: { live: "实时", offline: "离线", genericTitle: "SkateSpots 助手 🦧", genericGreeting: "哟!我是 The Sasquatch。关于 Spot、活动、教练、装备或应用怎么用,尽管问我。我有来自 SkateSpots Relay 的实时数据!", q1: "帮我规划里斯本 3 天", q2: "找我附近的 Spot", 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: "个人 AI · 2000 sats 起", aiBalanceTitle: "Sasquatch AI 余额(仅所有者可见)——在 {{provider}} 充值", aiChip: "⚡ AI {{balance}}", minimizeToBubbleAria: "最小化为气泡", minimize: "最小化", closePanelAria: "关闭面板", close: "关闭", askLab: "询问教学与拍摄", askMap: "询问 Spot、商店与装备", askAnything: "有任何问题都可以问我 🛹", quickQuestions: "快捷问题:", you: "🧑 你", thinking: "思考中...", inputPlaceholder: "询问 Spot、活动、教练...", liveDataFrom: "实时数据来自", nostrRelays: "Nostr Relay", clear: "清除", gettingLocation: "📍 正在获取你的位置…", findingClosest: "🔍 正在寻找最近的 Spot…", checkingLive: "🔍 正在检查实时数据…", planningTrip: "🗺️ 正在规划你的 {{destination}} 之旅...", searchingRelays: "🔍 正在 Relay 中搜索 {{tool}}...", perk1: "个人助理——Sasquatch 读取你自己的 Stash、Crew、Spot 和商品", perk2: "操作草稿:列出装备、发布滑板状态、规划旅行——任何内容发布前都由你确认", perk3: "答案使用你的个人背景,而不只是公开数据", perk4: "⚡ 直接支持 SkateSpots,让它保持免费且无广告", welcomeTitle: "感谢你支持 Sasquatch Pro!🦧⚡", welcomeDesc: "付款已发送——提供商确认后你的通行证即会激活(通常在 1 分钟内)。感谢你让街头保持自由。", invoiceCopied: "发票已复制", dialogDesc: "给你的 AI 滑板向导加速。100% 用于资助一个免费、无广告的社区应用。", proSupporter: "你是 Pro 支持者 ⚡", extendPrompt: "想延长?在下面选择一个档位来添加更多时间。", scanToPayPre: "扫码支付", scanToPayAmount: "{{sats}} sats", scanToPayPost: "以获得 {{label}} 的 Pro", invoiceQrAlt: "Lightning 发票二维码", copyInvoice: "复制发票", ivePaid: "我已支付", ivePaidHint: "钱包确认后点击“我已支付”——这会将你的通行证记录到你的 Nostr 身份。", freeStaysPre: "免费版 Sasquatch 始终保持免费——公开的 Spot/活动/教练搜索、旅行规划和完整的招式词汇表。Pro 增加 ", freeStaysEmphasis: "个人 + 操作", freeStaysPost: " 层。", loginFirst: "请先登录再升级。", 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}} 充值,否则 AI 将回退到无需密钥的提供商。", aiDesc: "按请求付费的 AI,通过 Routstr 以 sats 充值。余额不足时自动充值。", tier7d: "7 天", tier1m: "1 个月", tier3m: "3 个月", tier1y: "1 年", badgeTry: "试试", badgeOff20: "8 折", badgeBest: "最超值 · 6 折", 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 🦧 你的 AI 滑板向导。关于 Spot、活动、教练、装备——或应用的任何问题,都可以问我。你需要什么?", hello: "嘿!🛹 我是 The Sasquatch。关于滑板 Spot、活动、教练,或应用怎么用,尽管问我。有什么想了解的?", hey: "嘿,滑手!🤙 问我你附近的 Spot、即将举行的活动、教练,或任何 SkateSpots 相关的问题。", whoAreYou: "我是 The Sasquatch 🦧——SkateSpots 的 AI 向导。我可以查找全球的滑板 Spot、查询活动、教练、摄像师和装备商品。全部由实时 Nostr 数据驱动。尽管问!", whatCanYouDo: "我可以按城市或国家查找滑板 Spot、查询即将举行的活动、在 The Lab 中寻找教练和摄像师、搜索装备商品,并回答关于应用如何运作的问题。试试:“曼谷的 Spot”或“找教练”!🛹", whatIsNostr: "Nostr 是一种简单、开放的去中心化社交网络协议。可以理解为 Twitter,但没有单一公司控制它——你用密码学密钥代替用户名,选择哪些 Relay 存储你的数据(也可以自建),一个账号可在所有 Nostr 应用间通用!🔑", isThisPrivate: "这是坦诚的说明 🛡️\n\n• 你的 **GPS 位置保留在你的设备上**——“附近”只是将地图居中。它绝不会发送给我们或被发布。\n• **你添加的 Spot 是公开的**(这正是共享地图的意义)——所以不要把标记放在自己家门口。\n• **私信和 Crew 聊天是端到端加密的**——只有成员能读取。\n• 与任何网站一样,你连接的服务器(地图瓦片、Relay)可以看到你的 **IP**。想连这个也隐藏?使用 VPN 或 Tor。\n\n完整详情见[隐私页面](/privacy)。🛹", privacy: "简要版 🛡️:你的 GPS 从不离开你的设备,你发布的 Spot 按设计就是公开的,私信/Crew 聊天是端到端加密的。服务器仍能看到你的 IP(任何网站都如此)——想的话可以用 VPN 或 Tor 隐藏。完整说明见[隐私页面](/privacy)。", amITracked: "SkateSpots 不追踪你——没有广告、没有分析画像、不售卖数据,也没有 SkateSpots 服务器收集你的位置。你的 GPS 保留在设备上。服务器能看到的一件事是 **IP**(地图瓦片、Relay)——和任何网站一样。想隐藏就用 VPN 或 Tor。更多见[隐私页面](/privacy)。🛡️", doYouTrack: "不会——没有追踪、没有广告、没有数据收集。你的 GPS 保留在设备上,也没有中央服务器记录你。你连接的服务器可以看到你的 IP(和任何网站一样);VPN/Tor 可以隐藏它。见[隐私页面](/privacy)。🛹", vpn: "完全可选,但如果你想获得额外隐私,这很靠谱 🛡️。VPN 会向 SkateSpots 通信的服务器(地图瓦片、Relay 等)隐藏你的 **IP**(大致位置)。选择一个你信任的、不记录日志的提供商(如 Mullvad);避免来路不明的免费 VPN。\n\n注意:VPN **不能**隐藏你发布的 Spot(那些是公开的),如果你要保持匿名,就不要打开浏览器 GPS。完整详情见[隐私页面](/privacy)。", tor: "Tor 浏览器能提供最强的 IP 隐私——它会通过多个 Relay 路由你,使服务器看不到你的真实 IP 🧅。代价:速度更慢,地图和某些 Nostr Relay 可能延迟或阻止 Tor 出口节点。非常适合格外谨慎的人。\n\n记住:Tor 隐藏的是你的 IP,不是你发布的 Spot;如果目标是匿名,就不要启用浏览器 GPS。更多见[隐私页面](/privacy)。", hideMyIp: "两个免费选项 🛡️:**信誉良好的 VPN**(简单、快速——将你的 IP 隐藏在其服务器后面)或 **Tor 浏览器**(隐私最强,速度较慢)。任何一个都能让 SkateSpots 连接的服务器看不到你的真实 IP。注意它们不会隐藏你发布的 Spot。见[隐私页面](/privacy)。", isMyLocation: "你的位置很安全 📍——“附近”只在你的设备上读取你的 GPS,用于将地图居中并排序附近的 Spot。它绝不会发布到 Nostr、绝不会发送给我们、绝不会共享。只有你主动添加的 Spot 才是公开的。详情见[隐私页面](/privacy)。", whatAreZaps: "Zap 是通过 Nostr 发送的即时 Bitcoin Lightning 打赏!点击任意内容上的 ⚡,直接把 sats 发送到创作者的钱包。就像点赞,但用的是真钱。即时、点对点、无中间商。⚡", howToLogin: "两种方式:\n1. **浏览器扩展**(桌面端):安装 Alby 或 nos2x,然后点击“登录”\n2. **新用户**:点击“注册”生成密钥。下载你的 nsec(私钥)并保存好——这是你永远的账号!", whatIsCashu: "内置 Bitcoin 钱包!Cashu ecash 代币由 Lightning 背书——在滑板 Spot 可离线使用,注重隐私(Mint 无法追踪支付)。前往“设置”中的钱包使用。🥜", whatIsNwc: "Nostr Wallet Connect——就像 Lightning 钱包的 USB-C。连接一次 Alby、Minibits、Zeus 或 Coinos,之后一键 Zap。已加密,支出限额由你控制。🔌⚡", isItFree: "100% 免费。没有广告,没有订阅,没有企业套路。由滑手为滑手打造。通过 Angor 由社区资助——查看支持者页面。你也可以通过贡献优质 Spot 从社区 Zap 中获得 Bitcoin。🛹", whatCanIDo: "在地图上发现全球 Spot,在 The Lab 雇佣专业人士(教练、摄像师、摄影师、剪辑师、坡道建造者),加入 Crew 一起滑,参加活动,参加 Tour,买卖装备,记录你的私人 Stash,Zap 创作者,查看 Spot 天气,并共建这个去中心化的滑板社区!", whatIsTheLab: "The Lab 是你雇佣滑板圈专业人士的地方:教练、摄像师、摄影师、视频剪辑师,以及坡道/公园/DIY 建造者。每个都可以是个人或团体(Crew/工作室)——成员用各自的密钥确认,所以真实可靠。全部在 Nostr 上,没有假账号。🎓", whatIsACrew: "Crew 是锚定在地图上的滑板家人——是你一起滑的人,不是你雇佣的人。每个 Crew 在地图上都有主场(青色标记)、常去 Spot、成员、氛围和宣言。成员用各自的密钥确认。在 Crew →“创建 Crew”中创建一个。🤘", whatAreCrews: "Crew 是锚定在地图上的滑板家人——是你一起滑的人,不是你雇佣的人。每个 Crew 在地图上都有主场(青色标记)、常去 Spot、成员和宣言。成员用各自的密钥确认。前往 Crew 标签页创建或加入一个!🤘", howToStartACrew: "前往 Crew 标签页 →“创建 Crew”。取个名字,在地图上放置你的主场,添加氛围(或自定义 #话题标签),关联你的常去 Spot,并按 npub 添加成员。每位成员用各自的密钥确认,所以名单是真实可靠的。🤘", whatIsMyStash: "我的 Stash 是你的私人、加密装备柜(NIP-44 加密)。记录你的 Deck、Trucks、Wheels、鞋子——包括存放位置、成色、稀有度和价格。除非你把物品标记为公开,否则只有你能读取。非常适合保险或计划交换。🎒", whatIsStash: "我的 Stash 是你的私人、加密装备清单。记录你拥有的一切——成色、存放位置、价值——全部加密,只有你能看到。想出售或展示时把物品标记为公开。🎒", whatIsABuilder: "建造者是 The Lab 中的坡道/公园/DIY Crew,你可以雇佣他们建造过渡、Bowl、Rail 或整个公园。他们会列出建造内容、材料、项目规模,并且可以有执照/保险。通常是团体——他们还能把建造的 Spot 关联到地图上。🏗️", whatIsANutzap: "Nutzap(NIP-61)是通过 Nostr 发送的 ecash 打赏——私密的 Cashu 代币直接 Zap 给某人。你可以在钱包中设置接收 nutzap。(发送完整 nutzap 正在逐步推出——目前请使用 Lightning Zap。)🥜⚡", whatIsClink: "CLINK 是一种 Nostr 原生的支付码(“noffer”)。商店、Crew 和 The Lab 专业人士都可以添加一个,这样你无需 Lightning 地址也能向他们付款——你会看到一个带二维码的“通过 CLINK 支付”按钮。用像 ShockWallet 这样的 CLINK 钱包扫描它。🔗⚡ [规范](https://clinkme.dev/specs.html) [应用](https://clinkme.dev/apps.html)", whatIsNoffer: "noffer 是一种 CLINK 支付码——一种可复用的、Nostr 原生的收款方式,无需 Web 服务器或 Lightning 地址。在你的商店/Crew/The Lab 资料中添加你的,别人就能直接向你付款。🔗", whatAreTours: "Tour 是有人带领的滑板之旅——本地的场次、全国公路之旅,或世界毁灭之旅。在地图或 Tour 版块找到它们,碰面,并与本地人一起滑新地形。🗺️🛹", whatIsAShop: "滑板商店是地图上列出的本地商店。发现并支持你所在地区的实体(或线上)滑板商店——有些甚至接受 Bitcoin。🏪", howToSellGear: "前往装备交换 / Marketplace 创建商品(NIP-99)。添加照片、以 sats 定价、成色,并可选地把它固定到一个 Spot 上以显示在地图上。买家直接 Zap 或私信你。🛹💸", supporters: "SkateSpots 通过 Angor(去中心化 Bitcoin 众筹)由社区资助——没有广告、没有投资人、不售卖数据。查看支持者页面来支持这个项目,让街头保持自由。❤️⚡", trustScore: "信任分数(0-100)由 Relatr 提供。分析你的 Nostr 网络:粉丝、活跃度、互动、Zap。越高 = 越可信。有助于过滤机器人和垃圾信息。查看任意个人资料即可看到他们的分数。🛡️", whatRelay: "SkateSpots 使用:🛹 relay.skate-spots.org(主 Relay,为保证质量而加入白名单)+ relay.ditto.pub(全球)+ purplepag.es(个人资料聚合器)。你的数据会复制到所有这些 Relay 以实现冗余。", tripPlanner: "告诉我一个城市,我会为你规划逐日的滑板之旅 🗺️——Spot、活动、教练和本地 Crew,并考虑天气(雨天 = 推荐有遮蔽 Spot 的 Crew)。试试“帮我规划里斯本 3 天”。我可以把它全部保存到合集,并把你引导到真实网站上的航班/住宿(无 KYC,无中间商)。🛹", planATrip: "只要说“帮我规划巴塞罗那 3 天”(或任何城市),我就会为每天规划 Spot、场次、教练和本地 Crew。保存为合集就去滑吧。🗺️🛹", sasquatchPro: "**Sasquatch Pro** 🦧⚡ 是一张 Lightning 支持者通行证,解锁我的个人功能:\n\n• 🧠 **个人助理**——我读取你自己的 Stash、Crew、Spot 和商品\n• ✨ **操作草稿**——列出装备、发布你的滑板状态、规划旅行(任何内容发布前你都会确认)\n• 💬 **个人背景**——我的回答会使用你自己的数据,而不只是公开结果\n• ⚡ **支持项目**——你让 SkateSpots 保持免费且无广告\n\n免费版 Sasquatch 始终免费:公开的 Spot/活动/教练/Crew 搜索、词汇表和旅行规划都无需 Pro。Pro 只是增加*个人*功能。点击顶部的 **⚡ 升级 Pro**。档位:7 天约 2k sats,1 个月约 5k,3 个月约 12k,1 年约 36k。", proPerks: "Pro 特权 🦧⚡:个人助理(读取你的 Stash/Crew/Spot/商品)、操作草稿(列出装备、发布状态、规划旅行——由你确认),以及使用你自己个人背景的回答。此外你还在直接支持 SkateSpots,让它保持免费且无广告。免费版保持免费——Pro 增加个人层。点击顶部的 **⚡ 升级 Pro**。", proVersion: "我的 Pro 版本 🦧⚡ 增加了一位**个人助理**:我可以读取你自己的 Stash、Crew、Spot 和商品,为你起草操作(列出装备、发布状态、规划旅行——你始终先确认),并在回答中使用你的个人背景。它还直接支持这个项目。免费版 Sasquatch(Spot/活动/教练/Crew 搜索、词汇表、旅行规划器)保持免费。点击顶部的 **⚡ 升级 Pro**。", perks: "Pro 特权 🦧⚡:个人助理(你的 Stash/Crew/Spot/商品)、由你确认的操作草稿,以及使用你自己背景的回答——此外你还让应用保持免费且无广告。点击顶部的 **⚡ 升级 Pro**。", goPro: "点击顶部的 **⚡ 升级 Pro** 按钮打开升级面板。Pro 解锁我的个人助理(Stash/Crew/Spot/商品)和操作草稿,并直接支持这个项目。用 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,8 折),**1 年**约 36,000 sats(约 $21,最超值)。点击顶部的 **⚡ 升级 Pro**。", howMuchIsPro: "Pro 档位:7 天约 2,000 sats,1 个月约 5,000 sats,3 个月约 12,000 sats(8 折),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: "Spot", labelEvents: "活动", labelLabPros: "The Lab 专业人士", labelCrews: "Crew", labelShops: "滑板商店", labelTours: "Tour", 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: "我看不到你的位置——任何信息都不会离开你的设备;我只在你询问时于本地读取,而浏览器刚刚拒绝了。点击地图上的 🎯 **附近**,或告诉我一个城市:“曼谷的 Spot”。🛹", noNearbySpots: "你附近还没有标记的 Spot 🦧——[成为第一个添加的人](https://skate-spots.org/create-spot)。🛹", closestTitle: "此刻离你最近:", closestFooter: "_在你的设备上计算——你的位置从未离开它。_", proNudge: "那是 **Sasquatch Pro** 的功能 🦧⚡——有了 Pro,我可以读取你的 Stash、Crew、Spot 和商品,起草装备商品、求购和滑板状态,并规划你的旅行。它是一张 Lightning 支持者通行证,让 SkateSpots 保持免费且无广告。点击顶部的 **⚡ 升级 Pro** 按钮解锁。🛹", draftingProPerk: "起草操作(发布状态、列出装备)是 **Sasquatch Pro** 的特权 🦧⚡——点击顶部的 **⚡ 升级 Pro** 解锁。", draftIntro: "这是一份草稿——请审核并点击发布。你确认之前不会上线任何内容。🛹", draftFailed: "我没能完全生成那份草稿——请试着再告诉我详细信息(例如“把我的 Spitfire Wheels 以 8000 sats 列出”)。", tripAskCity: "去哪里?告诉我一个城市(例如“帮我规划里斯本 3 天”),我就为你规划行程。🗺️", tripEmptyMap: "**{{destination}}** 的地图上还没有内容 🦧——成为第一个在 [skate-spots.org](https://skate-spots.org) 添加 Spot 的人。一旦本地人添加了 Spot、Crew 和活动,我就为你规划完整行程。", tripLocked: "为你锁定了一次 **{{destination}}** 行动 🛹——下面是 Spot、场次和本地人。调整它或保存它。", tripFailed: "暂时无法连接实时数据来规划。请稍后重试!🛹", tripEmptyMapLocal: "**{{destination}}** 的地图上还没有内容 🦧——在 [skate-spots.org](https://skate-spots.org) 成为第一个。", tripMissionLocal: "这是一次 **{{destination}}** 行动 🛹——下面是 Spot、场次和本地人。", relayFailed: "Relay 暂时没有及时响应 🛰️——通常是网络较慢,而不是缺少 Spot。请稍后再试一次。🛹", couldNotProcess: "唔,无法处理。换个说法试试!", freeTierFallback: "这个需要 AI 推理——是 **Sasquatch Pro** 功能 ⚡🦧\n\n我仍然可以直接从 Relay 找到 **Spot、活动、教练、Crew、商店、Tour 和装备**——比如问我“巴塞罗那的 Spot”——而[词汇表](/glossary)涵盖 150 多个招式和术语。点击顶部的 **⚡ 升级 Pro** 解锁 AI 回答。", aiDownFallback: "我的 AI 大脑此刻在腾空 🦧——但我依然能帮你:\n\n• 🗺️ [地图](/) ——你附近的 Spot、商店、活动\n• 🧪 [The Lab](/lab) ——教练、摄像师、剪辑师\n• 📖 [词汇表](/glossary) ——150 多个招式和术语\n• 👥 [Crew](/crews) ——找到你的人\n\n或者直接告诉我一个**城市**(“巴塞罗那的 Spot”)或一个**招式**(“什么是 nollie”),我会直接回答。🛹", wentWrong: "我这边出了点状况。请稍后重试!🦧", publishError: "无法发布:{{error}}。请稍后重试。", unknownError: "未知错误", }, }; export default zhCNBatch2;