Files
TREK/shared/src/i18n/zh/settings.ts
T
Maurice dec6babe1d feat(native): an iOS map tile store, so viewed maps keep working offline
WKWebView runs no service worker for a self-hosted server, so on iOS nothing
kept a map tile once it scrolled away. Binaries with the tileCache feature
answer a trek-tile:// scheme from a store on disk: a tile viewed once is
served from there for up to 30 days (Mapbox's limit for a device cache,
applied to every provider), then fetched anew; the store keeps under 250 MB,
dropping the least recently used tiles first, sends a unique app User-Agent,
and never prefetches. Mapbox's own resources (style, tiles, glyphs, sprites)
and Leaflet's raster tiles go through it, telemetry never does.

Offline, a Mapbox map in such an app now stays Mapbox where it was viewed,
and the pill offers the stored trip region instead. The offline settings
show what the store takes against its limit, with a way to empty it.
2026-11-06 15:02:53 +01:00

623 lines
41 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationStrings } from '../types';
const settings: TranslationStrings = {
'settings.title': '设置',
'settings.subtitle': '配置你的个人设置',
'settings.tabs.display': '显示',
'settings.tabs.map': '地图',
'settings.tabs.notifications': '通知',
'settings.tabs.integrations': '集成',
'settings.plugins.oauth.connected': '已连接',
'settings.plugins.oauth.notConnected': '未连接',
'settings.plugins.oauth.connect': '连接',
'settings.plugins.oauth.disconnect': '断开连接',
'settings.tabs.plugins': '插件',
'settings.plugins.title': '插件设置',
'settings.plugins.subtitle': '你所用插件的个人设置(API 密钥、偏好)。',
'settings.plugins.empty': '没有已启用的插件。',
'settings.plugins.saved': '设置已保存',
'settings.plugins.requiredMissing': '「{field}」为必填项',
'settings.tabs.account': '账户',
'settings.tabs.offline': '离线',
'settings.tabs.about': '关于',
'settings.map': '地图',
'settings.mapTemplate': '地图模板',
'settings.mapTemplatePlaceholder.select': '选择模板...',
'settings.mapDefaultHint': '留空则使用 OpenStreetMap(默认)',
'settings.routingBase': '自建路径规划服务',
'settings.routingBaseHint':
'你自己的 OSRM 实例。留空则使用公共服务器,约每秒一个请求 — 单日够用,长途自驾则吃紧。需重启服务器后生效。',
'settings.valhallaBase': '自建 Valhalla 实例',
'settings.valhallaBaseHint':
'你自己的 Valhalla,当上方的路线服务设为它或设为“自动”时使用。如果只配置了自己的路线规划服务器且未选择路线服务,则不会请求任何 Valhalla。输入网址后,请重启服务器并重新加载页面。',
'settings.valhallaProvider': '路线服务',
'settings.valhallaProviderHint':
'使用 TREK 服务或自己的 Valhalla 时,所有路线都由 Valhalla 计算:步行、骑行和驾车的每日路线与自驾游,避开收费道路、高速公路或渡轮的路线,以及行程的路线、海拔和道路。无法应答时,由 OSRM 计算当天的路线。TREK 服务通过此服务器请求。使用 FOSSGIS 的公共 Valhalla 时,路线由 OSRM 计算,Valhalla 只处理 OSRM 做不到的事。“自动”会请求 TREK 服务,除非已设置自己的 Valhalla 或只设置了自己的路线规划服务器。',
'settings.valhallaProviderOption.auto': '自动',
'settings.valhallaProviderOption.trek': 'TREK 服务',
'settings.valhallaProviderOption.fossgis': '公共 Valhalla(FOSSGIS)',
'settings.valhallaProviderOption.custom': '自己的 Valhalla',
'settings.mapHint': '地图瓦片 URL 模板',
'settings.mapProvider': '地图提供商',
'settings.mapProviderHint': '影响行程规划器和旅程地图。足迹始终使用 Leaflet。',
'settings.mapLeafletSubtitle': '经典 2D,任何栅格瓦片',
'settings.mapMapboxSubtitle': '矢量瓦片、3D 建筑和地形',
'settings.mapMapLibreSubtitle': 'OpenFreeMap 矢量瓦片,无需令牌',
'settings.mapExperimental': '实验性',
'settings.mapMapboxToken': 'Mapbox 访问令牌',
'settings.mapMapboxTokenHint': '公共令牌 (pk.*) 来自',
'settings.mapMapboxTokenLink': 'mapbox.com → 访问令牌',
'settings.mapCartoKey': 'CARTO API 密钥',
'settings.mapCartoKeyHint': '没有密钥时 CARTO 底图会显示水印。免费且无需账户,来自',
'settings.mapCartoKeyLink': 'carto.com 底图 API 密钥',
'settings.mapCartoKeyMissing':
'此模板是 CARTO 底图。没有密钥时,CARTO 会在每个瓦片上打上 "API KEY REQUIRED"。 在输入密钥之前,TREK 会显示默认底图。',
'settings.mapStyle': '地图样式',
'settings.mapStylePlaceholder': '选择 Mapbox 样式',
'settings.mapStyleHint': '预设或您自己的 mapbox://styles/USER/ID URL',
'settings.mapOpenFreeMapStylePlaceholder': '选择 OpenFreeMap 样式',
'settings.mapOpenFreeMapStyleHint': '预设或 OpenFreeMap 样式 URL。OpenFreeMap 样式无需令牌即可使用。',
'settings.map3dBuildings': '3D 建筑和地形',
'settings.map3dHint': '倾斜 + 真实 3D 建筑拉伸 — 适用于所有样式,包括卫星。',
'settings.mapHighQuality': '高画质模式',
'settings.mapHighQualityHint': '抗锯齿 + 地球投影,带来更清晰的边缘和更真实的世界视图。',
'settings.mapHighQualityWarning': '可能影响低端设备的性能。',
'settings.mapTipLabel': '提示:',
'settings.mapTip': '右键点击并拖动以旋转/倾斜地图。中键点击添加地点(右键用于旋转)。',
'settings.saveMap': '保存地图',
'settings.apiKeys': 'API 密钥',
'settings.mapsKey': 'Google Maps API 密钥',
'settings.mapsKeyHint': '用于地点搜索。需要 Places API (New)。在 console.cloud.google.com 获取',
'settings.weatherKey': 'OpenWeatherMap API 密钥',
'settings.weatherKeyHint': '用于天气数据。在 openweathermap.org/api 免费获取',
'settings.keyPlaceholder': '输入密钥...',
'settings.configured': '已配置',
'settings.saveKeys': '保存密钥',
'settings.display': '显示',
'settings.colorMode': '颜色模式',
'settings.light': '浅色',
'settings.dark': '深色',
'settings.auto': '自动',
'settings.language': '语言',
'settings.temperature': '温度单位',
'settings.distance': '距离单位',
'settings.timeFormat': '时间格式',
'settings.weekStart': '每周开始于',
'settings.weekStartHint': '所有日期选择器中每周的第一天。Vacay 有单独的设置。',
'settings.dateFormat': '日期格式',
'settings.dateFormatHint': '所有日期字段和列表中日期的写法。带月份名称的日期保持你所用语言的写法。',
'settings.dateFormatAuto': '自动',
'settings.preferredNavApp': '打开地点方式',
'settings.preferredNavAppAsk': '每次询问',
'settings.preferredNavAppHint': '选定应用后,导航按钮会直接打开它,而不再列出所有地图应用。',
'settings.blurBookingCodes': '隐藏预订编号',
'settings.aiAlwaysRetry': '始终用 AI 重试预订导入',
'settings.aiAlwaysRetryHint': '当标准解析器无法读取文件时,自动改用 AI 重试。',
'settings.optimizeFromAccommodation': '从住宿地优化路线',
'settings.optimizeFromAccommodationHint': '优化某一天时,路线将从您醒来时所在的酒店出发,并在当晚入住的酒店结束。',
'settings.notifications': '通知',
'settings.notifyTripInvite': '旅行邀请',
'settings.notifyBookingChange': '预订变更',
'settings.notifyTripReminder': '旅行提醒',
'settings.notifyTodoDue': '待办事项即将到期',
'settings.notifyVacayInvite': '假期合并邀请',
'settings.notifyVacayShare': '假期日历共享',
'settings.notifyCollectionInvite': '收藏邀请',
'settings.notifySynologySessionCleared': 'Synology 会话已清除',
'settings.notifyPluginNotification': '插件通知',
'settings.notifyPhotosShared': '共享照片 (Immich)',
'settings.notifyCollabMessage': '聊天消息(协作)',
'settings.notifyPackingTagged': '行李清单:分配',
'settings.notifyWandererSourceHint': 'wanderer:关于你的路线的提示',
'settings.notifyWebhook': 'Webhook 通知',
'settings.notificationsDisabled': '通知尚未配置。请联系管理员启用电子邮件或 Webhook 通知。',
'settings.notificationsActive': '活跃频道',
'settings.notificationsManagedByAdmin': '通知事件由管理员配置。',
'settings.on': '开',
'settings.off': '关',
'settings.mcp.title': 'MCP 配置',
'settings.mcp.endpoint': 'MCP 端点',
'settings.mcp.clientConfig': '客户端配置',
'settings.mcp.clientConfigHint':
'将 <your_token> 替换为下方列表中的 API 令牌。npx 的路径可能需要根据您的系统进行调整(例如 Windows 上为 C:\\PROGRA~1\\nodejs\\npx.cmd)。',
'settings.mcp.clientConfigHintOAuth':
'将 <your_client_id> 和 <your_client_secret> 替换为上方创建的 OAuth 2.1 客户端凭据。首次连接时,mcp-remote 将打开浏览器完成授权。npx 的路径可能需要根据您的系统进行调整(例如 Windows 上为 C:\\PROGRA~1\\nodejs\\npx.cmd)。',
'settings.mcp.copy': '复制',
'settings.mcp.copied': '已复制!',
'settings.mcp.apiTokens': 'API 令牌',
'settings.mcp.createToken': '创建新令牌',
'settings.mcp.noTokens': '暂无令牌,请创建一个以连接 MCP 客户端。',
'settings.mcp.tokenCreatedAt': '创建于',
'settings.mcp.tokenUsedAt': '使用于',
'settings.mcp.deleteTokenTitle': '删除令牌',
'settings.mcp.deleteTokenMessage': '此令牌将立即失效,使用它的所有 MCP 客户端将失去访问权限。',
'settings.mcp.modal.createTitle': '创建 API 令牌',
'settings.mcp.modal.tokenName': '令牌名称',
'settings.mcp.modal.tokenNamePlaceholder': '例如:Claude Desktop、工作电脑',
'settings.mcp.modal.creating': '创建中…',
'settings.mcp.modal.create': '创建令牌',
'settings.mcp.modal.createdTitle': '令牌已创建',
'settings.mcp.modal.createdWarning': '此令牌只会显示一次,请立即复制并妥善保存:无法找回。',
'settings.mcp.modal.done': '完成',
'settings.mcp.toast.created': '令牌已创建',
'settings.mcp.toast.createError': '创建令牌失败',
'settings.mcp.toast.deleted': '令牌已删除',
'settings.mcp.toast.deleteError': '删除令牌失败',
'settings.mcp.apiTokensDeprecated': 'API 令牌已弃用,将在未来版本中移除。请改用 OAuth 2.1 客户端。',
'settings.oauth.clients': 'OAuth 2.1 客户端',
'settings.oauth.clientsHint':
'注册 OAuth 2.1 客户端,让第三方 MCP 应用程序(Claude Web、Cursor 等)无需静态令牌即可连接。',
'settings.oauth.createClient': '新建客户端',
'settings.oauth.noClients': '没有已注册的 OAuth 客户端。',
'settings.oauth.clientId': '客户端 ID',
'settings.oauth.clientSecret': '客户端密钥',
'settings.oauth.deleteClient': '删除客户端',
'settings.oauth.deleteClientMessage':
'此客户端及所有活跃会话将被永久删除。使用此客户端的任何应用程序将立即失去访问权限。',
'settings.oauth.rotateSecret': '轮换密钥',
'settings.oauth.rotateSecretMessage':
'将生成新的客户端密钥,所有现有会话将立即失效。在关闭此对话框之前,请更新您的应用程序。',
'settings.oauth.rotateSecretConfirm': '轮换',
'settings.oauth.rotateSecretConfirming': '轮换中…',
'settings.oauth.rotateSecretDoneTitle': '已生成新密钥',
'settings.oauth.rotateSecretDoneWarning': '此密钥仅显示一次。请立即复制并更新您的应用程序——所有之前的会话已失效。',
'settings.oauth.activeSessions': '活跃的 OAuth 会话',
'settings.oauth.sessionScopes': '权限范围',
'settings.oauth.sessionExpires': '过期时间',
'settings.oauth.revoke': '撤销',
'settings.oauth.revokeSession': '撤销会话',
'settings.oauth.revokeSessionMessage': '这将立即撤销此 OAuth 会话的访问权限。',
'settings.oauth.modal.createTitle': '注册 OAuth 客户端',
'settings.oauth.modal.presets': '快速预设',
'settings.oauth.modal.clientName': '应用程序名称',
'settings.oauth.modal.clientNamePlaceholder': '例如 Claude Web、我的 MCP 应用',
'settings.oauth.modal.redirectUris': '重定向 URI',
'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth',
'settings.oauth.modal.redirectUrisHint':
'每行一个 URI。支持 HTTPS、回环 HTTP 或自定义应用协议(myapp://)。要求精确匹配,回环 URI 的端口除外。',
'settings.oauth.modal.scopes': '允许的权限范围',
'settings.oauth.modal.scopesHint':
'list_trips 和 get_trip_summary 始终可用:无需权限范围。它们帮助 AI 发现所需的行程 ID。',
'settings.oauth.modal.selectAll': '全选',
'settings.oauth.modal.deselectAll': '取消全选',
'settings.oauth.modal.creating': '注册中…',
'settings.oauth.modal.create': '注册客户端',
'settings.oauth.modal.createdTitle': '客户端已注册',
'settings.oauth.modal.createdWarning': '客户端密钥仅显示一次。请立即复制:无法恢复。',
'settings.oauth.toast.createError': '注册 OAuth 客户端失败',
'settings.oauth.toast.deleted': 'OAuth 客户端已删除',
'settings.oauth.toast.deleteError': '删除 OAuth 客户端失败',
'settings.oauth.toast.revoked': '会话已撤销',
'settings.oauth.toast.revokeError': '撤销会话失败',
'settings.oauth.toast.rotateError': '轮换客户端密钥失败',
'settings.oauth.modal.machineClient': '机器客户端(无需浏览器登录)',
'settings.oauth.modal.machineClientHint':
'使用 client_credentials 授权——无需重定向 URI。令牌通过 client_id + client_secret 直接颁发,并在所选范围内以您的身份运行。',
'settings.oauth.modal.machineClientUsage':
'获取令牌:向 /oauth/token 发送 POST 请求,携带 grant_type=client_credentials、client_id 和 client_secret。无需浏览器,无刷新令牌。',
'settings.oauth.badge.machine': '机器',
'settings.account': '账户',
'settings.about': '关于',
'settings.about.reportBug': '报告错误',
'settings.about.reportBugHint': '发现问题?告诉我们',
'settings.about.featureRequest': '功能建议',
'settings.about.featureRequestHint': '建议一个新功能',
'settings.about.wikiHint': '文档和指南',
'settings.about.sponsor.eyebrow': '赞助的基础设施',
'settings.about.sponsor.title': 'TREK 自己的服务器运行在 dataforest cloud 上',
'settings.about.sponsor.body':
'地点搜索、地址搜索和路线规划都来自 TREK 自己的服务器,而不是 Google 等服务,运行这些服务器的机器由 dataforest cloud 赞助。',
'settings.about.sponsor.cta': '访问 dataforest cloud',
'settings.about.sponsor.search': '地点搜索',
'settings.about.sponsor.address': '地址搜索',
'settings.about.sponsor.routing': '路线规划',
'settings.about.descriptionManaged':
'TREK 帮你从最初的想法到最后的回忆,全程组织你的旅行。日程规划、预算、行李清单、照片等等,一应俱全。',
'settings.about.sourceTitle': '源代码',
'settings.about.sourceHint': 'TREK 是开源项目,采用 AGPL-3.0 许可',
'settings.about.supporters.badge': '月度支持者',
'settings.about.supporters.title': '与 TREK 同行的伙伴',
'settings.about.supporters.subtitle':
'当你在规划下一段路线时,这些人也在一起规划 TREK 的未来。他们每月的支持直接用于开发与真实投入的时间——让 TREK 保持开源。',
'settings.about.supporters.since': '{date} 起的支持者',
'settings.about.supporters.tierEmpty': '成为第一个',
'settings.about.supporter.tier.noReturnTicket': '不买返程票',
'settings.about.supporter.tier.lostLuggageVip': '行李丢失 VIP',
'settings.about.supporter.tier.businessClassDreamer': '商务舱梦想家',
'settings.about.supporter.tier.budgetTraveller': '穷游旅行者',
'settings.about.supporter.tier.hostelBunkmate': '青旅床友',
'settings.about.description':
'TREK 是一个自托管的旅行规划工具,帮助你从最初的想法到最后的回忆,全程组织你的旅行。日程规划、预算、行李清单、照片等——一切尽在一处,在你自己的服务器上。',
'settings.about.madeWith': '用',
'settings.about.madeBy': '由 Maurice 和不断壮大的开源社区打造。',
'settings.username': '用户名',
'settings.email': '邮箱',
'settings.role': '角色',
'settings.roleAdmin': '管理员',
'settings.oidcLinked': '已关联',
'settings.changePassword': '修改密码',
'settings.mustChangePassword': '您必须更改密码才能继续。请在下方设置新密码。',
'settings.currentPassword': '当前密码',
'settings.currentPasswordRequired': '请输入当前密码',
'settings.newPassword': '新密码',
'settings.confirmPassword': '确认新密码',
'settings.updatePassword': '更新密码',
'settings.passwordRequired': '请输入当前密码和新密码',
'settings.passwordTooShort': '密码至少需要 8 个字符',
'settings.passwordMismatch': '两次输入的密码不一致',
'settings.passwordWeak': '密码必须包含大写字母、小写字母、数字和特殊字符',
'settings.passwordCommon': '此密码太常见,请选择独特的密码。',
'settings.passwordRepetitive': '密码重复性太高',
'settings.passwordRules': '密码要求',
'settings.passwordRule.length': '至少 8 个字符',
'settings.passwordRule.upper': '大写字母',
'settings.passwordRule.lower': '小写字母',
'settings.passwordRule.digit': '数字',
'settings.passwordRule.special': '特殊字符',
'settings.passwordChanged': '密码修改成功',
'settings.deleteAccount': '删除账户',
'settings.deleteAccountTitle': '确定删除账户?',
'settings.deleteAccountWarning':
'你的账号以及你拥有的所有行程、日志、地点和文件将被永久删除,包括与其他成员共享的行程,这些成员将失去访问权限。他人拥有的行程会保留,你会被移出这些行程。此操作无法撤销。',
'settings.deleteAccountConfirm': '永久删除',
'settings.deleteBlockedTitle': '无法删除',
'settings.deleteBlockedMessage': '你是唯一的管理员。请先将其他用户提升为管理员,然后再删除账户。',
'settings.roleUser': '用户',
'settings.saveProfile': '保存资料',
'settings.mfa.title': '双因素认证 (2FA)',
'settings.mfa.description': '登录时添加第二步验证。使用身份验证器应用(Google Authenticator、Authy 等)。',
'settings.mfa.requiredByPolicy': '管理员要求双因素身份验证。请先完成下方的身份验证器设置后再继续。',
'settings.mfa.backupTitle': '备用代码',
'settings.mfa.backupDescription': '如果你无法使用身份验证器应用,可使用这些一次性备用代码登录。',
'settings.mfa.backupWarning': '请立即保存这些代码。每个代码只能使用一次。',
'settings.mfa.backupCopy': '复制代码',
'settings.mfa.backupDownload': '下载 TXT',
'settings.mfa.backupPrint': '打印 / PDF',
'settings.mfa.backupCopied': '备用代码已复制',
'settings.mfa.enabled': '您的账户已启用 2FA。',
'settings.mfa.disabled': '2FA 未启用。',
'settings.mfa.setup': '设置身份验证器',
'settings.mfa.scanQr': '使用应用扫描此二维码,或手动输入密钥。',
'settings.mfa.secretLabel': '密钥(手动输入)',
'settings.mfa.codePlaceholder': '6 位验证码',
'settings.mfa.enable': '启用 2FA',
'settings.mfa.cancelSetup': '取消',
'settings.mfa.disableTitle': '停用 2FA',
'settings.mfa.disableHint': '输入您的账户密码,以及身份验证器中的当前验证码或未使用的备用码。',
'settings.mfa.disable': '停用 2FA',
'settings.mfa.toastEnabled': '双因素认证已启用',
'settings.mfa.toastDisabled': '双因素认证已停用',
'settings.toast.mapSaved': '地图设置已保存',
'settings.toast.keysSaved': 'API 密钥已保存',
'settings.toast.displaySaved': '显示设置已保存',
'settings.toast.profileSaved': '资料已保存',
'settings.uploadAvatar': '上传头像',
'settings.removeAvatar': '移除头像',
'settings.avatarUploaded': '头像已更新',
'settings.avatarRemoved': '头像已移除',
'settings.avatarError': '上传失败',
'settings.avatarRemoveError': '删除失败',
'settings.bookingLabels': '预订路线标签',
'settings.bookingLabelsHint': '在地图上显示车站 / 机场名称。关闭时仅显示图标。',
'settings.notifyVersionAvailable': '有新版本可用',
'settings.notifyReplicaFailure': '存储副本故障',
'settings.notifyPaddleRegionRequested': '划桨区域申请',
'settings.notificationPreferences.noChannels': '未配置通知渠道。请联系管理员设置电子邮件或 Webhook 通知。',
'settings.webhookUrl.label': 'Webhook URL',
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
'settings.webhookUrl.hint': '输入您的 Discord、Slack 或自定义 Webhook URL 以接收通知。',
'settings.webhookUrl.saved': 'Webhook URL 已保存',
'settings.webhookUrl.test': '测试',
'settings.webhookUrl.testSuccess': '测试 Webhook 发送成功',
'settings.webhookUrl.testFailed': '测试 Webhook 失败',
'settings.ntfyUrl.topicLabel': 'Ntfy 主题',
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts',
'settings.ntfyUrl.serverLabel': 'Ntfy 服务器 URL(可选)',
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
'settings.ntfyUrl.hint': '输入您的 Ntfy 主题以接收推送通知。将服务器留空以使用管理员配置的默认值。',
'settings.ntfyUrl.tokenLabel': '访问令牌(可选)',
'settings.ntfyUrl.tokenHint': '受密码保护的主题需要此项。',
'settings.ntfyUrl.saved': 'Ntfy 设置已保存',
'settings.ntfyUrl.test': '测试',
'settings.ntfyUrl.testSuccess': '测试 Ntfy 通知发送成功',
'settings.ntfyUrl.testFailed': '测试 Ntfy 通知失败',
'settings.ntfyUrl.tokenCleared': '访问令牌已清除',
'settings.notificationPreferences.inapp': '应用内',
'settings.notificationPreferences.notConfigured': '尚未配置 — 请在插件设置中进行设置',
'settings.notificationPreferences.lockedByAdmin': '管理员已为所有人关闭',
'settings.plugins.actions': '操作',
'settings.plugins.actions.confirm': '执行此操作?',
'settings.notificationPreferences.sendTest': '发送测试',
'settings.notificationPreferences.configure': '去配置',
'settings.notificationPreferences.testSuccess': '已发送测试通知。',
'settings.notificationPreferences.testFailed': '测试失败。',
'settings.notificationPreferences.pluginConfigured': '已配置。请在插件的设置页面管理凭据。',
'settings.notificationPreferences.webhook': 'Webhook',
'settings.notificationPreferences.email': '电子邮件',
'settings.notificationPreferences.ntfy': 'Ntfy',
'settings.notificationPreferences.push': '推送',
'settings.webPush.title': '此设备上的推送通知',
'settings.webPush.hint': '即使 TREK 已关闭,也会在此设备上显示 TREK 通知。收到哪些事件取决于“推送”列。',
'settings.webPush.enable': '为此设备开启',
'settings.webPush.disable': '为此设备关闭',
'settings.webPush.enabled': '已为此设备开启',
'settings.webPush.unsupported': '此浏览器无法接收推送通知。',
'settings.webPush.insecure': '推送需要通过 HTTPS 打开 TREK。',
'settings.webPush.iosInstall': '在 iPhone 和 iPad 上,请先将 TREK 添加到主屏幕,然后从主屏幕打开。',
'settings.webPush.denied': '此浏览器已阻止 TREK 的通知。请在浏览器设置中允许通知,然后重试。',
'settings.webPush.failed': '无法为此设备开启推送。',
'settings.currency': '显示货币',
'settings.currencyHint': '“费用”中的金额仅在显示时换算为该货币,原始金额保持不变。',
'settings.currencyTrip': '行程货币',
'settings.placeLanguage': '地点名称',
'settings.placeLanguageApp': '与应用相同',
'settings.placeLanguageHint': '地点搜索、建议和地址所使用的语言。如果某个地点没有该语言的名称,则显示其当地名称。',
'settings.passkey.title': '通行密钥',
'settings.passkey.description':
'使用通行密钥更快登录,并能抵御钓鱼攻击:通过指纹、面容、PIN 或硬件密钥验证。你的密码仍可作为备用方式。',
'settings.passkey.notConfigured': '通行密钥已启用,但此服务器尚未完成完整配置。请联系管理员设置 WebAuthn 域名。',
'settings.passkey.add': '添加通行密钥',
'settings.passkey.addTitle': '添加通行密钥',
'settings.passkey.passwordPrompt': '确认你的当前密码,然后按照设备提示操作。',
'settings.passkey.passwordRequired': '需要输入你的当前密码。',
'settings.passkey.namePlaceholder': '名称(可选,如 "iPhone")',
'settings.passkey.addedToast': '通行密钥已添加',
'settings.passkey.added': '已添加',
'settings.passkey.addError': '无法添加通行密钥',
'settings.passkey.cancelled': '已取消通行密钥设置',
'settings.passkey.deleted': '通行密钥已移除',
'settings.passkey.deleteConfirm': '移除此通行密钥?请输入密码确认。',
'settings.passkey.rename': '重命名',
'settings.passkey.defaultName': '通行密钥',
'settings.passkey.synced': '已同步',
'settings.passkey.deviceBound': '此设备',
'settings.passkey.lastUsed': '上次使用',
'settings.passkey.neverUsed': '从未使用',
'settings.mapPoiPill': '在地图上探索地点',
'settings.mapPoiPillHint': '在行程地图上显示分类标签,从 OpenStreetMap 查找附近的餐厅、酒店等。',
'settings.airtrail.title': 'AirTrail',
'settings.airtrail.hint': '连接您的自托管 AirTrail 以导入和同步航班。在 AirTrail 的“设置 → 安全”中创建 API 密钥。',
'settings.airtrail.url': '实例 URL',
'settings.airtrail.apiKey': 'API 密钥',
'settings.airtrail.apiKeyPlaceholder': 'Bearer API 密钥',
'settings.airtrail.apiKeyHint': '在 AirTrail 的“设置 → 安全”中生成。加密存储。',
'settings.airtrail.allowInsecureTls': '允许自签名证书',
'settings.airtrail.allowInsecureTlsHint': '仅对您自己网络中受信任的实例启用。',
'settings.airtrail.writeBack': '将更改写回 AirTrail',
'settings.airtrail.writeBackHint':
'默认关闭:AirTrail 是数据来源,TREK 仅从中读取。开启后会将在 TREK 中所做的修改写回 AirTrail。',
'settings.airtrail.connected': '已连接',
'settings.airtrail.notConnected': '未连接',
'settings.airtrail.toast.saved': 'AirTrail 连接已保存',
'settings.airtrail.toast.saveError': '无法保存连接',
'settings.airtrail.test.button': '测试连接',
'settings.airtrail.test.success': '已连接。找到 {count} 个航班',
'settings.airtrail.test.failed': '连接失败',
'settings.aiParsing.title': 'AI 解析',
'settings.aiParsing.hint': '选择用于从上传的文件中提取预订信息的 AI 模型。仅当管理员未为整个实例配置模型时才会生效。',
'settings.aiParsing.provider': '服务商',
'settings.aiParsing.providerLocal': '本地 (Ollama)',
'settings.aiParsing.providerOpenai': 'OpenAI',
'settings.aiParsing.providerAnthropic': 'Anthropic',
'settings.aiParsing.localAdminOnly':
'本地 (Ollama) 接口在管理员设置中为整个实例配置一次。你仍然可以在这里使用自己的 OpenAI 或 Anthropic 密钥。',
'settings.aiParsing.model': '模型',
'settings.aiParsing.baseUrl': '基础 URL',
'settings.aiParsing.baseUrlHint': '模型运行的位置——本地 Ollama 服务器或兼容 OpenAI 的接口。',
'settings.aiParsing.apiKey': 'API 密钥',
'settings.aiParsing.apiKeyHint': '加密存储。留空则保留当前密钥。',
'settings.aiParsing.multimodal': '模型可读取图像',
'settings.aiParsing.multimodalHint': '适用于能读取图像的模型,开启后可导入或扫描照片。',
'settings.aiParsing.toast.saved': 'AI 设置已保存',
'settings.aiParsing.toast.saveError': '无法保存 AI 设置',
'settings.tabs.appearance': '外观',
'settings.appearance.theme': '主题',
'settings.appearance.scheme': '配色方案',
'settings.appearance.scheme.default': '默认',
'settings.appearance.scheme.highContrast': '高对比度',
'settings.appearance.scheme.indigo': '靛蓝',
'settings.appearance.scheme.teal': '蓝绿',
'settings.appearance.scheme.rose': '玫瑰',
'settings.appearance.scheme.amber': '琥珀',
'settings.appearance.scheme.violet': '紫罗兰',
'settings.appearance.scheme.custom': '自定义',
'settings.appearance.customAccent': '自定义强调色',
'settings.appearance.contrastOk': '对比度良好',
'settings.appearance.contrastLow': '对比度偏低',
'settings.appearance.readability': '可读性',
'settings.appearance.transparency': '透明效果',
'settings.appearance.transparencyHint': '使用玻璃感半透明界面,关闭后改用纯色、高对比度背景。',
'settings.appearance.reduceMotion': '减少动态效果',
'settings.appearance.reduceMotionHint': '尽量减少动画和过渡效果。',
'settings.appearance.density': '布局密度',
'settings.appearance.comfortable': '舒适',
'settings.appearance.compact': '紧凑',
'settings.appearance.textSize': '文本大小',
'settings.appearance.advancedTextSizes': '高级文本大小',
'settings.appearance.hideAdvanced': '隐藏高级设置',
'settings.appearance.tier.title': '标题',
'settings.appearance.tier.subtitle': '副标题',
'settings.appearance.tier.body': '正文',
'settings.appearance.tier.caption': '说明文字',
'settings.appearance.dashboardWidgets': '仪表盘组件',
'settings.appearance.dashboardWidgetsHint': '分别控制桌面端和移动端仪表盘组件的显示。',
'settings.appearance.desktop': '桌面端',
'settings.appearance.mobile': '移动端',
'settings.appearance.widget.sidebar': '右侧栏',
'settings.appearance.widget.currency': '货币',
'settings.appearance.widget.collections': '收藏',
'settings.appearance.widget.timezones': '时区',
'settings.appearance.widget.upcomingReservations': '接下来的预订',
'settings.appearance.widget.atlas': '足迹 / 国家',
'settings.appearance.widget.tripsTotal': '行程总数',
'settings.appearance.widget.daysTraveled': '已旅行天数',
'settings.appearance.widget.distanceFlown': '飞行距离',
'settings.appearance.reset': '恢复默认设置',
'settings.appearance.group.belowHero': '顶部摘要下方',
'settings.appearance.group.bottomOfPage': '页面底部',
'settings.appearance.sidebarHint': '控制整个右侧栏,关闭后仪表盘会居中显示。',
'settings.appearance.densityHint': '紧凑模式会收紧间距和内边距,让屏幕显示更多内容。',
'settings.appearance.textSizeAll': '全部',
'settings.appearance.perSize': '分别调整每类字号',
'settings.appearance.size.large': '大',
'settings.appearance.size.medium': '中',
'settings.appearance.size.normal': '标准',
'settings.appearance.size.small': '小',
'settings.appearance.preview.large': '大标题',
'settings.appearance.preview.medium': '中等副标题',
'settings.appearance.preview.normal': '正文文本',
'settings.appearance.preview.small': '小说明 / 地址',
'settings.appearance.example.large': '标题、大数字',
'settings.appearance.example.medium': '小标题',
'settings.appearance.example.normal': '地点名称、描述',
'settings.appearance.example.small': '地址、标签',
'settings.appearance.experimental': '实验性',
'settings.appearance.mobileNav': '底部导航栏',
'settings.appearance.mobileNav.hint': '选择哪些项目显示在导航栏中,哪些收纳到“更多”里。仪表盘始终排在最前。',
'settings.appearance.mobileNav.inBar': '导航栏内',
'settings.appearance.mobileNav.underMore': '“更多”内',
'settings.appearance.mobileNav.moreEmpty': '这里暂时为空 —— 所有项目都能放进导航栏。',
'settings.appearance.mobileNav.pinned': '已固定',
'settings.appearance.mobileNav.toMore': '移到“更多”里',
'settings.appearance.mobileNav.toBar': '移入导航栏',
'settings.appearance.dashOrder': '仪表盘排序',
'settings.appearance.dashOrder.hint': '重新排列行程列表和小组件在手机仪表盘上的堆叠顺序。精选行程始终固定在顶部。',
'settings.appearance.dashOrder.trips': '行程',
'settings.appearance.dashOrder.hidden': '已隐藏',
'settings.general.languageRegion': '语言与地区',
'settings.general.travelMap': '旅行与地图',
'settings.general.startup': '启动',
'settings.dayDateFirst': '每日标题中日期在前',
'settings.compactUnplanned': '未规划地点使用紧凑标记',
'settings.compactUnplannedHint': '未安排到任何一天的地点会显示为不带照片的小标记,让已规划的站点更加突出。',
'settings.dayDateFirstHint': '每天以日历日期开头,并在旁边显示“第 1 天”或当天的标题。',
'settings.startPage': '启动页面',
'settings.startPageDashboard': '仪表盘',
'settings.startPageActiveTrip': '进行中的旅行',
'settings.startPageHint':
'TREK 会直接打开正在进行的旅行,没有则打开最近要开始的那次。与仪表盘突出显示的是同一次旅行。',
'settings.startTripTab': '启动标签页',
'settings.startTripTabHint': '旅行打开时所在的标签页。如果该标签页属于已关闭的插件,则改为打开计划视图。',
// ── Offline (#1135)
'settings.offline.cache.title': '离线缓存',
'settings.offline.mode.title': '离线模式',
'settings.offline.mode.force': '强制离线模式',
'settings.offline.mode.forceHint': '仅使用缓存数据工作,并将你的更改排入队列。关闭以重新连接并同步。',
'settings.offline.mode.active': '离线模式已开启:你的更改已排入队列,将在你关闭它时同步。',
'settings.offline.prepare.title': '为离线做准备',
'settings.offline.prepare.hint': '在失去连接之前,下载你所需的一切:行程数据、文档和地图瓦片。',
'settings.offline.prepare.button': '下载以供离线使用',
'settings.offline.prepare.running': '下载中…',
'settings.offline.prepare.done': '已可离线使用',
'settings.offline.prepare.phase.trips': '行程数据',
'settings.offline.prepare.phase.files': '文档',
'settings.offline.prepare.phase.tiles': '地图瓦片',
'settings.offline.resync': '立即重新同步',
'settings.offline.resyncing': '同步中…',
'settings.offline.storage.title': '要离线存储的内容',
'settings.offline.storage.tiles': '离线存储地图瓦片',
'settings.offline.storage.tilesHint': '地图瓦片占用最多存储空间。关闭此项可仅离线保留行程数据和文档。',
'settings.offline.storage.tripsTitle': '行程',
'settings.offline.storage.tripOn': '已离线存储',
'settings.offline.storage.tripOff': '未存储',
'settings.offline.storage.tripFinished': '已结束。仅在开启后保存。',
'settings.offline.notice.stored': '已在此设备保存 {count} 个行程',
'settings.offline.notice.nothing': '没有可保存的内容。请开启你想保留的行程。',
'settings.offline.notice.busy': '同步正在进行中,请稍后重试。',
'settings.offline.notice.offline': '没有连接。请连接网络以保存行程供离线使用。',
'settings.offline.notice.signedOut': '会话已结束。请重新登录以同步。',
'settings.offline.notice.failed': '下载未能完成。请检查网络连接后重试。',
'settings.offline.notice.loadFailed': '无法读取此设备的离线存储。清除缓存通常可以解决。',
'settings.offline.clear': '清除缓存',
'settings.offline.clearConfirm': '清除所有离线行程数据?联网时你可以随时重新同步。',
'settings.offline.stats.trips': '已缓存行程',
'settings.offline.stats.pending': '待处理更改',
'settings.offline.stats.failed': '失败的更改',
'settings.offline.failed.hint': '这些更改从未到达服务器。请重试,或放弃它们以保留服务器上的版本。',
'settings.offline.failed.retry': '重试',
'settings.offline.failed.discard': '放弃',
'settings.offline.stats.conflicts': '冲突',
'settings.offline.empty': '尚未缓存任何行程。请连接互联网以同步。',
'settings.offline.loading': '加载中…',
'settings.offline.conflicts.title': '同步冲突',
'settings.offline.conflicts.hint': '你离线所做的更改与服务器上更新的更改发生冲突。请选择要保留的版本。',
'settings.offline.conflicts.keepMine': '保留我的',
'settings.offline.conflicts.keepServer': '保留对方的',
'settings.offline.conflicts.mine': '你的版本',
'settings.offline.conflicts.server': '服务器版本',
'settings.offline.conflicts.item': '对“{name}”的更改',
'settings.offline.conflicts.strategyTitle': '发生冲突时',
'settings.offline.conflicts.strategy.ask': '每次询问我',
'settings.offline.conflicts.strategy.mine': '始终保留我的版本',
'settings.offline.conflicts.strategy.server': '始终保留服务器版本',
'settings.offline.banner.offline': '离线',
'settings.offline.banner.forced': '离线模式',
'settings.offline.banner.queued': '离线 · {count} 项排队中',
'settings.offline.banner.syncing': '正在同步 {count} 项…',
'settings.offline.banner.failed': '同步失败:{count}',
'settings.offline.banner.conflicts': '冲突:{count}',
'settings.pluginActivity.title': '插件活动',
'settings.pluginActivity.description': '插件代表你执行的每项操作,最新的在前。',
'settings.pluginActivity.empty': '暂无插件活动。',
'settings.pluginActivity.refresh': '刷新',
'settings.pluginActivity.columns.plugin': '插件',
'settings.pluginActivity.columns.action': '操作',
'settings.pluginActivity.columns.resource': '资源',
'settings.pluginActivity.columns.when': '时间',
'settings.pluginActivity.columns.status': '结果',
'settings.alwaysShowRoutes': '始终显示预订路线',
'settings.alwaysShowRoutesHint': '自动在地图上显示每个航班、火车和其他预订的路线,无需逐个手动开启。',
// Public API keys (Settings -> Integrations)
// ── API keys: what a key may read ─────────────────────────────────────────
'settings.apiScopes.title': '此密钥可读取的内容',
'settings.apiScopes.hint':
'如果希望这个密钥看到全部内容,就保持全部开启。任何被关闭的内容对该密钥都会被拒绝,而不只是不出现在结果里。',
'settings.apiScopes.all': '全部',
'settings.apiScopes.noneSelected': '请至少选择一项,否则该密钥什么也读取不了。',
'settings.apiScopes.limited': '{total} 项中的 {count} 项',
'settings.apiScopes.trips': '行程',
'settings.apiScopes.days': '日程',
'settings.apiScopes.places': '地点',
'settings.apiScopes.notes': '每日备注',
'settings.apiScopes.reservations': '预订',
'settings.apiScopes.accommodations': '住宿',
'settings.apiScopes.travellers': '同行人员',
'settings.apiScopes.bucket-list': '愿望清单',
'settings.apiScopes.stats': '统计总计',
'settings.apiKeys.title': 'API 密钥',
'settings.apiKeys.description': '公开 API 的密钥,让其他软件读取你的行程。只读:密钥无法修改或删除任何内容。',
'settings.apiKeys.create': '创建密钥',
'settings.apiKeys.empty': '还没有密钥。创建一个即可连接其他软件。',
'settings.apiKeys.createdAt': '创建于',
'settings.apiKeys.usedAt': '最近使用',
'settings.apiKeys.deleteTitle': '删除密钥',
'settings.apiKeys.deleteMessage': '使用该密钥的一切都会立即停止工作,且无法撤销。',
'settings.apiKeys.deleted': '密钥已删除',
'settings.apiKeys.deleteFailed': '无法删除密钥',
'settings.apiKeys.createFailed': '无法创建密钥',
'settings.apiKeys.copy': '复制',
'settings.apiKeys.docsHint': '把密钥作为 "Authorization: Bearer ..." 或 "X-API-Key: ..." 发送到 /api/v1。',
'settings.apiKeys.endpoint': '端点',
'settings.apiKeys.neverUsed': '从未使用',
'settings.apiKeys.loadFailed': '无法加载你的密钥。请刷新页面后重试。',
'settings.apiKeys.limitReached': '你已有 {count} 个密钥,已达到每个账户的上限。请删除一个不再使用的密钥后再创建。',
'settings.apiKeys.copyFailed': '无法复制。请选中文本后手动复制。',
'settings.apiKeys.modal.createTitle': '创建 API 密钥',
'settings.apiKeys.modal.name': '名称',
'settings.apiKeys.modal.namePlaceholder': '例如 家庭仪表板',
'settings.apiKeys.modal.nameHint': '仅供你自己识别,方便日后辨认这个密钥。',
'settings.apiKeys.modal.creating': '创建中...',
'settings.apiKeys.modal.create': '创建',
'settings.apiKeys.modal.createdTitle': 'API 密钥已创建',
'settings.apiKeys.modal.createdWarning': '请立即复制密钥。它只显示一次,之后无法再次获取。',
'settings.apiKeys.modal.done': '完成',
'settings.mcp.deprecated': '已弃用',
'settings.offline.cache.dateRange': '{start} 至 {end}',
'settings.offline.tileStore.title': '已查看的地图瓦片',
'settings.offline.tileStore.usage': '本设备上已用 {used},上限 {limit},最多保存 30 天',
'settings.offline.tileStore.clear': '清除',
};
export default settings;