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.
1598 lines
81 KiB
TypeScript
1598 lines
81 KiB
TypeScript
/**
|
||
* 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;
|