diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json index 6007cbcb..df0d77f7 100644 --- a/client/strings/zh-cn.json +++ b/client/strings/zh-cn.json @@ -19,6 +19,7 @@ "ButtonChooseFiles": "选择文件", "ButtonClearFilter": "清除过滤器", "ButtonCloseFeed": "关闭源", + "ButtonCloseSession": "关闭开放会话", "ButtonCollections": "收藏", "ButtonConfigureScanner": "配置扫描", "ButtonCreate": "创建", @@ -28,6 +29,9 @@ "ButtonEdit": "编辑", "ButtonEditChapters": "编辑章节", "ButtonEditPodcast": "编辑播客", + "ButtonEnable": "启用", + "ButtonFireAndFail": "故障和失败", + "ButtonFireOnTest": "测试事件触发", "ButtonForceReScan": "强制重新扫描", "ButtonFullPath": "完整路径", "ButtonHide": "隐藏", @@ -46,6 +50,7 @@ "ButtonNevermind": "没有关系", "ButtonNext": "下一个", "ButtonNextChapter": "下一章节", + "ButtonNextItemInQueue": "队列中的下一个项目", "ButtonOk": "确定", "ButtonOpenFeed": "打开源", "ButtonOpenManager": "打开管理器", @@ -55,6 +60,7 @@ "ButtonPlaylists": "播放列表", "ButtonPrevious": "上一个", "ButtonPreviousChapter": "上一章节", + "ButtonProbeAudioFile": "探测音频文件", "ButtonPurgeAllCache": "清理所有缓存", "ButtonPurgeItemsCache": "清理项目缓存", "ButtonQueueAddItem": "添加到队列", @@ -92,6 +98,7 @@ "ButtonStats": "统计数据", "ButtonSubmit": "提交", "ButtonTest": "测试", + "ButtonUnlinkOpenId": "取消 OpenID 链接", "ButtonUpload": "上传", "ButtonUploadBackup": "上传备份", "ButtonUploadCover": "上传封面", @@ -104,6 +111,7 @@ "ErrorUploadFetchMetadataNoResults": "无法获取元数据 - 尝试更新标题和/或作者", "ErrorUploadLacksTitle": "必须有标题", "HeaderAccount": "帐户", + "HeaderAddCustomMetadataProvider": "添加自定义元数据提供商", "HeaderAdvanced": "高级", "HeaderAppriseNotificationSettings": "测试通知设置", "HeaderAudioTracks": "音轨", @@ -118,7 +126,7 @@ "HeaderCover": "封面", "HeaderCurrentDownloads": "当前下载", "HeaderCustomMessageOnLogin": "登录时的自定义消息", - "HeaderCustomMetadataProviders": "自定义元数据提供者", + "HeaderCustomMetadataProviders": "自定义元数据提供商", "HeaderDetails": "详情", "HeaderDownloadQueue": "下载队列", "HeaderEbookFiles": "电子书文件", @@ -149,6 +157,8 @@ "HeaderMetadataToEmbed": "嵌入元数据", "HeaderNewAccount": "新建帐户", "HeaderNewLibrary": "新建媒体库", + "HeaderNotificationCreate": "创建通知", + "HeaderNotificationUpdate": "更新通知", "HeaderNotifications": "通知", "HeaderOpenIDConnectAuthentication": "OpenID 连接身份验证", "HeaderOpenRSSFeed": "打开 RSS 源", @@ -206,6 +216,7 @@ "LabelAddToPlaylist": "添加到播放列表", "LabelAddToPlaylistBatch": "添加 {0} 个项目到播放列表", "LabelAddedAt": "添加于", + "LabelAddedDate": "添加 {0}", "LabelAdminUsersOnly": "仅限管理员用户", "LabelAll": "全部", "LabelAllUsers": "所有用户", @@ -235,6 +246,7 @@ "LabelBitrate": "比特率", "LabelBooks": "图书", "LabelButtonText": "按钮文本", + "LabelByAuthor": "由 {0}", "LabelChangePassword": "修改密码", "LabelChannels": "声道", "LabelChapterTitle": "章节标题", @@ -244,6 +256,7 @@ "LabelClosePlayer": "关闭播放器", "LabelCodec": "编解码", "LabelCollapseSeries": "折叠系列", + "LabelCollapseSubSeries": "折叠子系列", "LabelCollection": "收藏", "LabelCollections": "收藏", "LabelComplete": "已完成", @@ -294,8 +307,10 @@ "LabelEpisode": "剧集", "LabelEpisodeTitle": "剧集标题", "LabelEpisodeType": "剧集类型", + "LabelEpisodes": "剧集", "LabelExample": "示例", "LabelExpandSeries": "展开系列", + "LabelExpandSubSeries": "展开子系列", "LabelExplicit": "信息准确", "LabelExplicitChecked": "明确(已选中)", "LabelExplicitUnchecked": "不明确 (未选中)", @@ -304,7 +319,9 @@ "LabelFetchingMetadata": "正在获取元数据", "LabelFile": "文件", "LabelFileBirthtime": "文件创建时间", + "LabelFileBornDate": "生于 {0}", "LabelFileModified": "文件修改时间", + "LabelFileModifiedDate": "已修改 {0}", "LabelFilename": "文件名", "LabelFilterByUser": "按用户筛选", "LabelFindEpisodes": "查找剧集", @@ -360,6 +377,7 @@ "LabelLess": "较少", "LabelLibrariesAccessibleToUser": "用户可访问的媒体库", "LabelLibrary": "媒体库", + "LabelLibraryFilterSublistEmpty": "没有 {0}", "LabelLibraryItem": "媒体库项目", "LabelLibraryName": "媒体库名称", "LabelLimit": "限制", @@ -371,13 +389,13 @@ "LabelLookForNewEpisodesAfterDate": "在此日期后查找新剧集", "LabelLowestPriority": "最低优先级", "LabelMatchExistingUsersBy": "匹配现有用户", - "LabelMatchExistingUsersByDescription": "用于连接现有用户. 连接后, 用户将通过SSO提供商提供的唯一 id 进行匹配", + "LabelMatchExistingUsersByDescription": "用于连接现有用户. 连接后, 用户将通过 SSO 提供商提供的唯一 id 进行匹配", "LabelMediaPlayer": "媒体播放器", "LabelMediaType": "媒体类型", "LabelMetaTag": "元数据标签", "LabelMetaTags": "元标签", "LabelMetadataOrderOfPrecedenceDescription": "较高优先级的元数据源将覆盖较低优先级的元数据源", - "LabelMetadataProvider": "元数据提供者", + "LabelMetadataProvider": "元数据提供商", "LabelMinute": "分钟", "LabelMinutes": "分钟", "LabelMissing": "丢失", @@ -396,7 +414,7 @@ "LabelNewestEpisodes": "最新剧集", "LabelNextBackupDate": "下次备份日期", "LabelNextScheduledRun": "下次任务运行", - "LabelNoCustomMetadataProviders": "没有自定义元数据提供程序", + "LabelNoCustomMetadataProviders": "没有自定义元数据提供商", "LabelNoEpisodesSelected": "未选择任何剧集", "LabelNotFinished": "未听完", "LabelNotStarted": "未开始", @@ -412,7 +430,7 @@ "LabelNotificationsMaxQueueSizeHelp": "通知事件被限制为每秒触发 1 个. 如果队列处于最大大小, 则将忽略事件. 这可以防止通知垃圾邮件.", "LabelNumberOfBooks": "图书数量", "LabelNumberOfEpisodes": "# 集", - "LabelOpenIDAdvancedPermsClaimDescription": "OpenID 声明的名称, 该声明包含应用程序内用户操作的高级权限, 该权限将应用于非管理员角色(如果已配置). 如果响应中缺少声明, 获取 ABS 的权限将被拒绝. 如果缺少单个选项, 它将被视为 禁用. 确保身份提供者的声明与预期结构匹配:", + "LabelOpenIDAdvancedPermsClaimDescription": "OpenID 声明的名称, 该声明包含应用程序内用户操作的高级权限, 该权限将应用于非管理员角色(如果已配置). 如果响应中缺少声明, 获取 ABS 的权限将被拒绝. 如果缺少单个选项, 它将被视为 禁用. 确保身份提供商的声明与预期结构匹配:", "LabelOpenIDClaims": "将以下选项留空以禁用高级组和权限分配, 然后自动分配 'User' 组.", "LabelOpenIDGroupClaimDescription": "OpenID 声明的名称, 该声明包含用户组的列表. 通常称为如果已配置, 应用程序将根据用户的组成员身份自动分配角色, 前提是这些组在声明中以不区分大小写的方式命名为 'Admin', 'User' 或 'Guest'. 声明应包含一个列表, 如果用户属于多个组, 则应用程序将分配与最高访问级别相对应的角色. 如果没有组匹配, 访问将被拒绝.", "LabelOpenRSSFeed": "打开 RSS 源", @@ -430,6 +448,7 @@ "LabelPersonalYearReview": "你的年度回顾 ({0})", "LabelPhotoPathURL": "图片路径或 URL", "LabelPlayMethod": "播放方法", + "LabelPlayerChapterNumberMarker": "{0} 于 {1}", "LabelPlaylists": "播放列表", "LabelPodcast": "播客", "LabelPodcastSearchRegion": "播客搜索地区", @@ -440,9 +459,11 @@ "LabelPreventIndexing": "防止 iTunes 和 Google 播客目录对你的源进行索引", "LabelPrimaryEbook": "主电子书", "LabelProgress": "进度", - "LabelProvider": "供应商", + "LabelProvider": "提供商", + "LabelProviderAuthorizationValue": "授权标头值", "LabelPubDate": "出版日期", "LabelPublishYear": "发布年份", + "LabelPublishedDate": "已发布 {0}", "LabelPublisher": "出版商", "LabelPublishers": "出版商", "LabelRSSFeedCustomOwnerEmail": "自定义所有者电子邮件", @@ -526,6 +547,7 @@ "LabelShowSubtitles": "显示标题", "LabelSize": "文件大小", "LabelSleepTimer": "睡眠定时", + "LabelSlug": "Slug", "LabelStart": "开始", "LabelStartTime": "开始时间", "LabelStarted": "开始于", @@ -587,6 +609,7 @@ "LabelUnabridged": "未删节", "LabelUndo": "撤消", "LabelUnknown": "未知", + "LabelUnknownPublishDate": "未知发布日期", "LabelUpdateCover": "更新封面", "LabelUpdateCoverHelp": "找到匹配项时允许覆盖所选书籍存在的封面", "LabelUpdateDetails": "更新详细信息", @@ -635,16 +658,22 @@ "MessageCheckingCron": "检查计划任务...", "MessageConfirmCloseFeed": "你确定要关闭此订阅源吗?", "MessageConfirmDeleteBackup": "你确定要删除备份 {0}?", + "MessageConfirmDeleteDevice": "您确定要删除电子阅读器设备 \"{0}\" 吗?", "MessageConfirmDeleteFile": "这将从文件系统中删除该文件. 你确定吗?", "MessageConfirmDeleteLibrary": "你确定要永久删除媒体库 \"{0}\"?", "MessageConfirmDeleteLibraryItem": "这将从数据库和文件系统中删除库项目. 你确定吗?", "MessageConfirmDeleteLibraryItems": "这将从数据库和文件系统中删除 {0} 个库项目. 你确定吗?", + "MessageConfirmDeleteMetadataProvider": "是否确实要删除自定义元数据提供商 \"{0}\" ?", + "MessageConfirmDeleteNotification": "您确定要删除此通知吗?", "MessageConfirmDeleteSession": "你确定要删除此会话吗?", "MessageConfirmForceReScan": "你确定要强制重新扫描吗?", "MessageConfirmMarkAllEpisodesFinished": "你确定要将所有剧集都标记为已完成吗?", "MessageConfirmMarkAllEpisodesNotFinished": "你确定要将所有剧集都标记为未完成吗?", + "MessageConfirmMarkItemFinished": "您确定要将 \"{0}\" 标记为已完成吗?", + "MessageConfirmMarkItemNotFinished": "您确定要将 \"{0}\" 标记为未完成吗?", "MessageConfirmMarkSeriesFinished": "你确定要将此系列中的所有书籍都标记为已听完吗?", "MessageConfirmMarkSeriesNotFinished": "你确定要将此系列中的所有书籍都标记为未听完吗?", + "MessageConfirmNotificationTestTrigger": "使用测试数据触发此通知吗?", "MessageConfirmPurgeCache": "清除缓存将删除 /metadata/cache 整个目录.

你确定要删除缓存目录吗?", "MessageConfirmPurgeItemsCache": "清除项目缓存将删除 /metadata/cache/items 整个目录.
你确定吗?", "MessageConfirmQuickEmbed": "警告! 快速嵌入不会备份你的音频文件. 确保你有音频文件的备份.

你是否想继续吗?", @@ -663,7 +692,9 @@ "MessageConfirmRenameTag": "你确定要将所有项目标签 \"{0}\" 重命名到 \"{1}\"?", "MessageConfirmRenameTagMergeNote": "注意: 该标签已经存在, 因此它们将被合并.", "MessageConfirmRenameTagWarning": "警告! 已经存在有大小写不同的类似标签 \"{0}\".", + "MessageConfirmResetProgress": "你确定要重置进度吗?", "MessageConfirmSendEbookToDevice": "你确定要发送 {0} 电子书 \"{1}\" 到设备 \"{2}\"?", + "MessageConfirmUnlinkOpenId": "您确定要取消该用户与 OpenID 的链接吗?", "MessageDownloadingEpisode": "正在下载剧集", "MessageDragFilesIntoTrackOrder": "将文件拖动到正确的音轨顺序", "MessageEmbedFailed": "嵌入失败!", @@ -698,6 +729,7 @@ "MessageNoCollections": "没有收藏", "MessageNoCoversFound": "没有找到封面", "MessageNoDescription": "没有描述", + "MessageNoDevices": "没有设备", "MessageNoDownloadsInProgress": "当前没有正在进行的下载", "MessageNoDownloadsQueued": "下载队列无任务", "MessageNoEpisodeMatchesFound": "没有找到任何剧集匹配项", @@ -725,6 +757,7 @@ "MessagePauseChapter": "暂停章节播放", "MessagePlayChapter": "开始章节播放", "MessagePlaylistCreateFromCollection": "从收藏中创建播放列表", + "MessagePleaseWait": "请稍等...", "MessagePodcastHasNoRSSFeedForMatching": "播客没有可用于匹配 RSS 源的 url", "MessageQuickMatchDescription": "使用来自 '{0}' 的第一个匹配结果填充空白详细信息和封面. 除非启用 '首选匹配元数据' 服务器设置, 否则不会覆盖详细信息.", "MessageRemoveChapter": "移除章节", @@ -785,18 +818,28 @@ "StatsYearInReview": "年度回顾", "ToastAccountUpdateFailed": "账户更新失败", "ToastAccountUpdateSuccess": "帐户已更新", + "ToastAppriseUrlRequired": "必须输入 Apprise URL", "ToastAuthorImageRemoveSuccess": "作者图像已删除", + "ToastAuthorNotFound": "未找到作者 \"{0}\"", + "ToastAuthorRemoveSuccess": "作者已删除", + "ToastAuthorSearchNotFound": "未找到作者", "ToastAuthorUpdateFailed": "作者更新失败", "ToastAuthorUpdateMerged": "作者已合并", "ToastAuthorUpdateSuccess": "作者已更新", "ToastAuthorUpdateSuccessNoImageFound": "作者已更新 (未找到图像)", + "ToastBackupAppliedSuccess": "已应用备份", "ToastBackupCreateFailed": "备份创建失败", "ToastBackupCreateSuccess": "备份已创建", "ToastBackupDeleteFailed": "备份删除失败", "ToastBackupDeleteSuccess": "备份已删除", + "ToastBackupInvalidMaxKeep": "要保留的备份数无效", + "ToastBackupInvalidMaxSize": "最大备份大小无效", + "ToastBackupPathUpdateFailed": "无法更新备份路径", "ToastBackupRestoreFailed": "备份还原失败", "ToastBackupUploadFailed": "上传备份失败", "ToastBackupUploadSuccess": "备份已上传", + "ToastBatchDeleteFailed": "批量删除失败", + "ToastBatchDeleteSuccess": "批量删除成功", "ToastBatchUpdateFailed": "批量更新失败", "ToastBatchUpdateSuccess": "批量更新成功", "ToastBookmarkCreateFailed": "创建书签失败", @@ -808,22 +851,46 @@ "ToastCachePurgeSuccess": "缓存清除成功", "ToastChaptersHaveErrors": "章节有错误", "ToastChaptersMustHaveTitles": "章节必须有标题", + "ToastChaptersRemoved": "已删除章节", + "ToastCollectionItemsAddFailed": "项目添加到收藏夹失败", + "ToastCollectionItemsAddSuccess": "项目添加到收藏夹成功", "ToastCollectionItemsRemoveSuccess": "项目从收藏夹移除", "ToastCollectionRemoveSuccess": "收藏夹已删除", "ToastCollectionUpdateFailed": "更新收藏夹失败", "ToastCollectionUpdateSuccess": "收藏夹已更新", + "ToastCoverUpdateFailed": "封面更新失败", "ToastDeleteFileFailed": "删除文件失败", "ToastDeleteFileSuccess": "文件已删除", + "ToastDeviceAddFailed": "添加设备失败", + "ToastDeviceNameAlreadyExists": "同名的电子阅读器设备已存在", + "ToastDeviceTestEmailFailed": "无法发送测试电子邮件", + "ToastDeviceTestEmailSuccess": "测试邮件已发送", + "ToastDeviceUpdateFailed": "无法更新设备", + "ToastEmailSettingsUpdateFailed": "无法更新电子邮件设置", + "ToastEmailSettingsUpdateSuccess": "电子邮件设置已更新", + "ToastEncodeCancelFailed": "取消编码失败", + "ToastEncodeCancelSucces": "编码已取消", + "ToastEpisodeDownloadQueueClearFailed": "无法清除队列", + "ToastEpisodeDownloadQueueClearSuccess": "剧集下载队列已清空", "ToastErrorCannotShare": "无法在此设备上本地共享", "ToastFailedToLoadData": "加载数据失败", + "ToastFailedToShare": "分享失败", + "ToastFailedToUpdateAccount": "无法更新账户", + "ToastFailedToUpdateUser": "无法更新用户", + "ToastInvalidImageUrl": "图片网址无效", + "ToastInvalidUrl": "网址无效", "ToastItemCoverUpdateFailed": "更新项目封面失败", "ToastItemCoverUpdateSuccess": "项目封面已更新", + "ToastItemDeletedFailed": "删除项目失败", + "ToastItemDeletedSuccess": "已删除项目", "ToastItemDetailsUpdateFailed": "更新项目详细信息失败", "ToastItemDetailsUpdateSuccess": "项目详细信息已更新", "ToastItemMarkedAsFinishedFailed": "无法标记为已听完", "ToastItemMarkedAsFinishedSuccess": "标记为已听完的项目", "ToastItemMarkedAsNotFinishedFailed": "无法标记为未听完", "ToastItemMarkedAsNotFinishedSuccess": "标记为未听完的项目", + "ToastItemUpdateFailed": "更新项目失败", + "ToastItemUpdateSuccess": "项目已更新", "ToastLibraryCreateFailed": "创建媒体库失败", "ToastLibraryCreateSuccess": "媒体库 \"{0}\" 创建成功", "ToastLibraryDeleteFailed": "删除媒体库失败", @@ -832,6 +899,25 @@ "ToastLibraryScanStarted": "媒体库扫描已启动", "ToastLibraryUpdateFailed": "更新图书库失败", "ToastLibraryUpdateSuccess": "媒体库 \"{0}\" 已更新", + "ToastNameEmailRequired": "姓名和电子邮件为必填项", + "ToastNameRequired": "姓名为必填项", + "ToastNewUserCreatedFailed": "无法创建帐户: \"{0}\"", + "ToastNewUserCreatedSuccess": "已创建新帐户", + "ToastNewUserLibraryError": "必须至少选择一个图书馆", + "ToastNewUserPasswordError": "必须有密码, 只有root用户可以有空密码", + "ToastNewUserTagError": "必须至少选择一个标签", + "ToastNewUserUsernameError": "输入用户名", + "ToastNoUpdatesNecessary": "无需更新", + "ToastNotificationCreateFailed": "无法创建通知", + "ToastNotificationDeleteFailed": "删除通知失败", + "ToastNotificationFailedMaximum": "最大失败尝试次数必须 >= 0", + "ToastNotificationQueueMaximum": "最大通知队列必须 >= 0", + "ToastNotificationSettingsUpdateFailed": "无法更新通知设置", + "ToastNotificationSettingsUpdateSuccess": "通知设置已更新", + "ToastNotificationTestTriggerFailed": "无法触发测试通知", + "ToastNotificationTestTriggerSuccess": "触发测试通知", + "ToastNotificationUpdateFailed": "更新通知失败", + "ToastNotificationUpdateSuccess": "通知已更新", "ToastPlaylistCreateFailed": "创建播放列表失败", "ToastPlaylistCreateSuccess": "已成功创建播放列表", "ToastPlaylistRemoveSuccess": "播放列表已删除", @@ -839,24 +925,52 @@ "ToastPlaylistUpdateSuccess": "播放列表已更新", "ToastPodcastCreateFailed": "创建播客失败", "ToastPodcastCreateSuccess": "已成功创建播客", + "ToastPodcastGetFeedFailed": "无法获取播客信息", + "ToastPodcastNoEpisodesInFeed": "RSS 订阅中未找到任何剧集", + "ToastPodcastNoRssFeed": "播客没有 RSS 源", + "ToastProviderCreatedFailed": "无法添加提供商", + "ToastProviderCreatedSuccess": "已添加新提供商", + "ToastProviderNameAndUrlRequired": "名称和网址必需填写", + "ToastProviderRemoveSuccess": "提供商已移除", "ToastRSSFeedCloseFailed": "关闭 RSS 源失败", "ToastRSSFeedCloseSuccess": "RSS 源已关闭", + "ToastRemoveFailed": "删除失败", "ToastRemoveItemFromCollectionFailed": "从收藏中删除项目失败", "ToastRemoveItemFromCollectionSuccess": "项目已从收藏中删除", + "ToastRemoveItemsWithIssuesFailed": "无法删除有问题的库项目", + "ToastRemoveItemsWithIssuesSuccess": "已删除有问题的库项目", + "ToastRenameFailed": "重命名失败", + "ToastRescanFailed": "{0} 重新扫描失败", + "ToastRescanRemoved": "重新扫描完成项目已删除", + "ToastRescanUpToDate": "重新扫描完成项目已更新", + "ToastRescanUpdated": "重新扫描完成项目已更新", + "ToastScanFailed": "扫描库项目失败", + "ToastSelectAtLeastOneUser": "至少选择一位用户", "ToastSendEbookToDeviceFailed": "发送电子书到设备失败", "ToastSendEbookToDeviceSuccess": "电子书已经发送到设备 \"{0}\"", "ToastSeriesUpdateFailed": "更新系列失败", "ToastSeriesUpdateSuccess": "系列已更新", "ToastServerSettingsUpdateFailed": "无法更新服务器设置", "ToastServerSettingsUpdateSuccess": "服务器设置已更新", + "ToastSessionCloseFailed": "关闭会话失败", "ToastSessionDeleteFailed": "删除会话失败", "ToastSessionDeleteSuccess": "会话已删除", + "ToastSlugMustChange": "Slug 包含无效字符", + "ToastSlugRequired": "Slug 是必填项", "ToastSocketConnected": "网络已连接", "ToastSocketDisconnected": "网络已断开", "ToastSocketFailedToConnect": "网络连接失败", "ToastSortingPrefixesEmptyError": "必须至少有 1 个排序前缀", "ToastSortingPrefixesUpdateFailed": "无法更新排序前缀", "ToastSortingPrefixesUpdateSuccess": "排序前缀已更新 ({0} 项)", + "ToastTitleRequired": "标题为必填项", + "ToastUnknownError": "未知错误", + "ToastUnlinkOpenIdFailed": "无法取消用户与 OpenID 的关联", + "ToastUnlinkOpenIdSuccess": "用户已取消与 OpenID 的关联", "ToastUserDeleteFailed": "删除用户失败", - "ToastUserDeleteSuccess": "用户已删除" + "ToastUserDeleteSuccess": "用户已删除", + "ToastUserPasswordChangeSuccess": "密码修改成功", + "ToastUserPasswordMismatch": "密码不匹配", + "ToastUserPasswordMustChange": "新密码不能与旧密码相同", + "ToastUserRootRequireName": "必须输入 root 用户名" }