diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json
index 14c70cb10..de074b6ac 100644
--- a/client/strings/zh-cn.json
+++ b/client/strings/zh-cn.json
@@ -205,7 +205,7 @@
"HeaderSleepTimer": "睡眠计时",
"HeaderStatsLargestItems": "最大的项目",
"HeaderStatsLongestItems": "项目时长(小时)",
- "HeaderStatsMinutesListeningChart": "收听分钟数 (最近7天)",
+ "HeaderStatsMinutesListeningChart": "收听分钟数(最近7天)",
"HeaderStatsRecentSessions": "历史会话",
"HeaderStatsTop10Authors": "前 10 位作者",
"HeaderStatsTop5Genres": "前 5 种流派",
@@ -252,8 +252,8 @@
"LabelAudioChannels": "音频通道 (1 或 2)",
"LabelAudioCodec": "音频编解码器",
"LabelAuthor": "作者",
- "LabelAuthorFirstLast": "作者 (姓 名)",
- "LabelAuthorLastFirst": "作者 (名, 姓)",
+ "LabelAuthorFirstLast": "作者(姓 名)",
+ "LabelAuthorLastFirst": "作者(名,姓)",
"LabelAuthors": "作者",
"LabelAutoDownloadEpisodes": "自动下载剧集",
"LabelAutoFetchMetadata": "自动获取元数据",
@@ -275,7 +275,7 @@
"LabelBonus": "额外",
"LabelBooks": "图书",
"LabelButtonText": "按钮文本",
- "LabelByAuthor": "作者: {0}",
+ "LabelByAuthor": "作者:{0}",
"LabelChangePassword": "修改密码",
"LabelChannels": "声道",
"LabelChapterCount": "{0} 章节",
@@ -436,9 +436,9 @@
"LabelLibraryFilterSublistEmpty": "没有 {0}",
"LabelLibraryItem": "媒体库项目",
"LabelLibraryName": "媒体库名称",
- "LabelLibrarySortByProgress": "进度: 上次更新",
- "LabelLibrarySortByProgressFinished": "进度: 已完成",
- "LabelLibrarySortByProgressStarted": "进度: 已开始",
+ "LabelLibrarySortByProgress": "进度:上次更新",
+ "LabelLibrarySortByProgressFinished": "进度:已完成",
+ "LabelLibrarySortByProgressStarted": "进度:已开始",
"LabelLimit": "限制",
"LabelLineSpacing": "行间距",
"LabelListenAgain": "再次收听",
@@ -557,7 +557,7 @@
"LabelReleaseDate": "发布日期",
"LabelRemoveAllMetadataAbs": "删除所有 metadata.abs 文件",
"LabelRemoveAllMetadataJson": "删除所有 metadata.json 文件",
- "LabelRemoveAudibleBranding": "删除章节中的 Audible 简介和结尾",
+ "LabelRemoveAudibleBranding": "删除章节中的 Audible 片头和片尾",
"LabelRemoveCover": "移除封面",
"LabelRemoveMetadataFile": "删除库项目文件夹中的元数据文件",
"LabelRemoveMetadataFileHelp": "删除 {0} 文件夹中的所有 metadata.json 和 metadata.abs 文件.",
@@ -573,7 +573,7 @@
"LabelSelectUser": "选择用户",
"LabelSelectUsers": "选择用户",
"LabelSendEbookToDevice": "发送电子书到...",
- "LabelSequence": "序列",
+ "LabelSequence": "序号",
"LabelSerial": "系列",
"LabelSeries": "系列",
"LabelSeriesName": "系列名称",
@@ -814,7 +814,7 @@
"MessageEpisodesQueuedForDownload": "{0} 个剧集排队等待下载",
"MessageEreaderDevices": "为了确保电子书的送达, 你可能需要将上述电子邮件地址添加为下列每台设备的有效发件人.",
"MessageFeedURLWillBe": "源 URL 将改为 {0}",
- "MessageFetching": "正在获取...",
+ "MessageFetching": "正在获取…",
"MessageForceReScanDescription": "将像重新扫描一样再次扫描所有文件. 音频文件 ID3 标签, OPF 文件和文本文件将被扫描为新文件.",
"MessageHeatmapListeningTimeTooltip": "{1} 收听了 {0}",
"MessageHeatmapNoListeningSessions": "{0} 没有收听",
@@ -824,7 +824,7 @@
"MessageItemsSelected": "已选定 {0} 个项目",
"MessageItemsUpdated": "已更新 {0} 个项目",
"MessageJoinUsOn": "加入我们的",
- "MessageLoading": "正在加载...",
+ "MessageLoading": "正在加载…",
"MessageLoadingFolders": "加载文件夹...",
"MessageLogsDescription": "日志以 JSON 文件形式存储在 /metadata/logs 目录中. 崩溃日志存储在 /metadata/logs/crash_logs.txt 目录中.",
"MessageM4BFailed": "M4B 失败!",
@@ -884,7 +884,7 @@
"MessageRemoveEpisodes": "移除 {0} 剧集",
"MessageRemoveFromPlayerQueue": "从播放队列中移除",
"MessageRemoveUserWarning": "是否确实要永久删除用户 \"{0}\"?",
- "MessageReportBugsAndContribute": "反馈问题, 建议功能或参与贡献, 请访问",
+ "MessageReportBugsAndContribute": "反馈问题,建议功能或参与贡献,请访问",
"MessageResetChaptersConfirm": "你确定要重置章节并撤消你所做的更改吗?",
"MessageRestoreBackupConfirm": "你确定要恢复创建的这个备份",
"MessageRestoreBackupWarning": "恢复备份将覆盖位于 /config 的整个数据库并覆盖 /metadata/items & /metadata/authors 中的图像.
备份不会修改媒体库文件夹中的任何文件. 如果你已启用服务器设置将封面和元数据存储在库文件夹中,则不会备份或覆盖这些内容.
将自动刷新使用服务器的所有客户端.",
@@ -892,7 +892,7 @@
"MessageScheduleRunEveryWeekdayAtTime": "每 {0} 的 {1} 执行",
"MessageSearchResultsFor": "搜索结果",
"MessageSelected": "{0} 已选择",
- "MessageSeriesSequenceCannotContainSpaces": "系列序列不能包含空格",
+ "MessageSeriesSequenceCannotContainSpaces": "系列序号不能包含空格",
"MessageServerCouldNotBeReached": "无法访问服务器",
"MessageSetChaptersFromTracksDescription": "把每个音频文件设置为章节并将章节标题设置为音频文件名",
"MessageShareExpirationWillBe": "到期日期为 {0}",
@@ -946,8 +946,8 @@
"NoteChangeRootPassword": "Root 是唯一可以拥有空密码的用户",
"NoteChapterEditorTimes": "注意: 第一章开始时间必须保持在 0:00, 最后一章开始时间不能超过有声读物持续时间.",
"NoteFolderPicker": "注意: 将不显示已映射的文件夹",
- "NoteRSSFeedPodcastAppsHttps": "警告: 大多数播客应用程序都需要 RSS 源 URL 使用 HTTPS",
- "NoteRSSFeedPodcastAppsPubDate": "警告: 你的一集或多集没有发布日期. 一些播客应用程序要求这样做.",
+ "NoteRSSFeedPodcastAppsHttps": "警告:大多数播客应用程序都需要 RSS 源 URL 使用 HTTPS",
+ "NoteRSSFeedPodcastAppsPubDate": "警告:你的一集或多集没有发布日期。一些播客应用程序要求这样做。",
"NoteUploaderFoldersWithMediaFiles": "包含媒体文件的文件夹将作为单独的媒体库项目处理.",
"NoteUploaderOnlyAudioFiles": "如果只上传音频文件, 则每个音频文件将作为单独的有声读物处理.",
"NoteUploaderUnsupportedFiles": "不支持的文件将被忽略. 选择或删除文件夹时, 将忽略不在项目文件夹中的其他文件.",
@@ -1018,8 +1018,8 @@
"ToastChapterStartTimeAdjusted": "章节开始时间已调整 {0} 秒",
"ToastChaptersAllLocked": "所有章节均已锁定. 请解锁要调整时间的章节.",
"ToastChaptersHaveErrors": "章节有错误",
- "ToastChaptersInvalidShiftAmountLast": "偏移量无效. 最后一章的开始时间将超过这本有声读物的持续时间.",
- "ToastChaptersInvalidShiftAmountStart": "偏移量无效. 第一章的长度将为零或负数, 并会被第二章覆盖. 请增加第二章的起始时长.",
+ "ToastChaptersInvalidShiftAmountLast": "偏移量无效: 最后一章的开始时间已超过有声书总时长.",
+ "ToastChaptersInvalidShiftAmountStart": "偏移量无效: 第一章时长不足 (为零或负数), 将被第二章覆盖. 请增加第二章的起始时间.",
"ToastChaptersMustHaveTitles": "章节必须有标题",
"ToastChaptersRemoved": "已删除章节",
"ToastChaptersUpdated": "章节已更新",